Skip to main content

modifier les select option des pays dans la boucle

More
11 years 10 months ago - 11 years 10 months ago #178799 by erickb
-- HikaShop version -- : 234
-- Joomla version -- : 336

Bonjour

dans la view com_hikashop/address/form.php
Code:
foreach($this->extraFields['address'] as $fieldName => $oneExtraField) { $fieldType = $oneExtraField->field_type; switch ($fieldType) { case 'zone': if (in_array($oneExtraField->field_namekey, $zone_ht)){ $item = str_replace('</option>', ' ' . JText::_('PRICE_WITHOUT_TAX') . '</option>',$item) ; } }

comment je recupere le zone_namekey ? $oneExtraField->field_namekey ne me donne rien

avec
<option value="country_French_Polynesia_76" id="address_country_country_French_Polynesia_76">France (Polynesie) </option>
je veux faire
<option value="country_French_Polynesia_76" id="address_country_country_French_Polynesia_76">France (Polynesie) HT</option>

merci
Last edit: 11 years 10 months ago by erickb.

Please Log in or Create an account to join the conversation.

More
11 years 10 months ago #178803 by nicolas
Bonjour,

Les zones du dropdown sont stockées dans la variable: $oneExtraField->field_value alors que $oneExtraField->field_namekey contient le nom du champs personnalisé, c'est à dire address_country

Please Log in or Create an account to join the conversation.

More
11 years 10 months ago #178838 by erickb
Merci mais ca ne me dit pas comment je trouve le vrai #__hikashop_zone > zone_namekey qui correspond dans mon exemple a country_French_Polynesia_76
Code:
<option value="country_French_Polynesia_76" id="address_country_country_French_Polynesia_76">France (Polynesie) </option>

l'ideal serait meme de récupérer le #__hikashop_zone > zone_id , c'est encore plus simple pour une comparaison in_array

Please Log in or Create an account to join the conversation.

More
11 years 10 months ago #178855 by Jerome
Bonjour,

Le namekey est unique et le namekey contient l'id à la fin.
Je ne vois donc pas de soucis.

Cordialement,

Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

More
11 years 10 months ago - 11 years 10 months ago #178925 by erickb
je sais bien que le namekey et l'id sont unique mais quelles sont les variables dans votre boucle qui les récupère

$oneExtraField->field_value est un array , comment recuperez vous l'id là dedans ?
Code:
array(49) { ["country_Germany_81"]=> object(stdClass)#703 (2) { ["value"]=> string(9) "Allemagne" ["disabled"]=> string(1) "0" }

mon code actuel

mon tableau perso a comparer
Code:
$zone_ht = array( "country_Guadeloupe_87", "country_French_Guiana_75", "country_Martinique_134", "country_New_Caledonia_152", "country_French_Polynesia_76", "country_Reunion_174", "country_French_Southern_Territories_77");

la boucle ou je veux comparer
Code:
foreach($this->extraFields['address'] as $fieldName => $oneExtraField) { $fieldType = $oneExtraField->field_type; if($fieldType=='zone'){ if (in_array($namekey_de_la_zone, $zone_ht)){ $item = str_replace('</option>', ' ' . JText::_('PRICE_WITHOUT_TAX') . '</option>',$item) ; } } }

et ca ne donne rien

et en plus je prefererai comparer les id c'est plus simple
Last edit: 11 years 10 months ago by erickb.

Please Log in or Create an account to join the conversation.

More
11 years 10 months ago #178947 by Xavier
Bonjour,

Merci d'essayer quelque chose dans ce genre:
Code:
$curZone = array_keys($oneExtraField->field_value); if(in_array($curZone[0],$zone_ht))

Please Log in or Create an account to join the conversation.

More
11 years 10 months ago - 11 years 10 months ago #179101 by erickb

Xavier wrote: Bonjour,

Merci d'essayer quelque chose dans ce genre:

Code:
$curZone = array_keys($oneExtraField->field_value); if(in_array($curZone[0],$zone_ht))


je n'obtiens rien avec $curZone[0]

si je fais un print_r($curZone); j'ai ces valeurs
Code:
Array ( [0] => country_Germany_81 [1] => country_Andorra_5 [2] => country_Australia_13 [3] => country_Austria_14 [4] => country_Belgium_21 [5] => country_Bulgaria_33 [6] => country_Canada_38 [7] => country_Cyprus_55 [8] => country_Croatia_53 [9] => country_Denmark_57 [10] => country_Spain_195 [11] => country_Finland_72 [12] => country_Guadeloupe_87 [13] => country_French_Guiana_75 [14] => country_Martinique_134 [15] => country_New_Caledonia_152 [16] => country_French_Polynesia_76 [17] => country_Reunion_174 [18] => country_French_Southern_Territories_77 [19] => country_France__Metropolitan_74 [20] => country_Greece_84 [21] => country_Netherlands_150 [22] => country_Hungary_97 [23] => country_Ireland_103 [24] => country_Iceland_98 [25] => country_Italy_105 [26] => country_Latvia_117 [27] => country_Liechtenstein_122 [28] => country_Luxembourg_124 [29] => country_Macedonia_126 [30] => country_Malta_132 [31] => country_Mayotte_137 [32] => country_Monaco_141 [33] => country_Norway_160 [34] => country_New_Zealand_153 [35] => country_Poland_170 [36] => country_Portugal_171 [37] => country_Romania_175 [38] => country_United_Kingdom_222 [39] => country_Russia_176 [40] => country_Slovakia_189 [41] => country_Slovenia_190 [42] => country_St__Pierre_and_Miquelon_198 [43] => country_Sweden_203 [44] => country_Switzerland_204 [45] => country_Czech_Republic_56 [46] => country_Ukraine_220 [47] => country_United_States_of_America_223 [48] => country_Wallis_and_Futuna_Islands_233 )


curieusement si je fais if(in_array($curZone[14],$zone_ht)) ca marche pour toutes mes valeurs dans $zone_ht
Last edit: 11 years 10 months ago by erickb.

Please Log in or Create an account to join the conversation.

More
11 years 10 months ago #179165 by Jerome
Bonjour,

Savez-vous que la valeur que vous cherchez ne se trouve pas dans le custom field mais dans l'adresse que vous souhaitez afficher ?

Cordialement,

Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

More
11 years 10 months ago #179245 by erickb

Jerome wrote: Bonjour,

Savez-vous que la valeur que vous cherchez ne se trouve pas dans le custom field mais dans l'adresse que vous souhaitez afficher ?

Cordialement,


je ne veux pas comparer les adresses sinon je dois recommencer 3 fois en 3 langues , je veux l'id ou le namekey

Please Log in or Create an account to join the conversation.

More
11 years 10 months ago #179269 by Jerome
Bonjour,

Alors je ne vois pas quel est votre soucis.
Vous avez toutes les informations nécessaires pour faire votre affichage.

Cordialement

Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

Time to create page: 0.288 seconds
Powered by Kunena Forum