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.

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.

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.

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

Time to create page: 0.290 seconds
Powered by Kunena Forum