Bonjour Nicolas.
Merci pour votre réponse.
J'ai fini par résoudre le problème N°1 tout seul.
Mon problème venait de l'attribut 'name' de mon select.
Je l'avais nommé initialement "checkout[shipping]", ce qui fait qu'on moment de la validation, je récupérais :
$data['shipping'] = <mon id>
alors que dans le fichier administrator/components/com_hikashop/helpers/checkout/shipping.php, on attend un tableau :
$shipping_ids = array();
foreach($data['shipping'] as $group => $shipping) {
if(!isset($shipping['id']))
continue;
if(is_numeric($group))
$group = (int)$group;
if(is_numeric($shipping['id']))
$shipping['id'] = (int)$shipping['id'];
$shipping_ids[$group] = $shipping['id'];
}
J'ai renommé mon select comme suit, et cela fonctionne
echo JHTML::_('select.genericlist', $selector['values'], 'checkout[shipping]['. $shipping_group_key .'][id]', 'class="hikashop_field_dropdown" data-hk-checkout="' . $this->escape(json_encode($selector['input_data'])) . '" onchange="window.checkout.shippingSelected(this);"', 'value', 'text', $shipping_json[$shipping_group_key], 'hikashop_shipping_selector_'.$this->step.'_'.$this->module_position);
Reste le problème N°2 à résoudre...
Je ne suis pas sûr de pouvoir le résoudre avec la solution que vous proposez, car les points de retrait des marchandises sont évolutifs.
Chaque vendeur peut choisir des points de retrait à sa guise parmi une liste de points de retrait disponibles (il peut modifier sa liste quand il le souhaite).
Lorsque l'acheteur sélectionne une marchandise, je veux lui proposer la pré-selection du vendeur, et lui laisser la possibilité de choisir le point de retrait qui lui convient le mieux.
Si l'acheteur achète plusieurs marchandises (différents vendeurs possibles), au moment de l'affichage du panier, je récupère la liste des points de retrait de tous les vendeurs concernés, et je veux proposer à l'acheteur :
- soit une seule liste des points de retrait en commun (afin que l'acheteur récupère tous ses marchandises au même endroit),
- soit une liste de points de retrait pour chaque marchandise si aucun point de retrait en commun.
En parcourant le forum hikashop, j'ai lu qu'il valait mieux créer des modes de livraison que des entrepôts. J'ai donc créé des modes de livraison pour chacun de mes points de retrait, et je pensais ensuite désactiver les points de retrait non retenus par les vendeurs au moment d'afficher le panier.
Avec ce descriptif plus détaillé de mon besoin, partiriez-vous toujours sur des entrepôts ?
Je ne suis pas sûr d'avoir bien compris votre explication : est-ce que les entrepôts s'affichent dans la zone de livraison, à la place des modes de livraison ?
Merci d'avance pour votre aide.
David