Bonjour,
j'utilise Hikashop pour un module un peu particulier :
- j'ai un formulaire assez complexe de calcul de tarif pour un produit d'impression personnalisé
- j'ai de l'autre côté Hikashop avec des champs custom "item" qui sont renseignés lors de la validation du formulaire, puis on retrouve le process de commande classique.
Or, j'ai un problème lorsque le client s'y reprend à plusieurs fois pour faire son devis : s'il valide une première fois son formulaire, tout va bien, j'ai un produit dans le panier et tout roule, mais s'il sort du process de commande et refait un devis (au lieu par exemple de réaccéder directement à son récap en passant par le module de panier), il se retrouve avec 2 lignes distinctes, ce que je voudrais empêcher.
En gros voilà ce que je passe en POST :
<form action="/component/hikashop/checkout/product/updatecart" method="post" name="hikashop_product_form" enctype="multipart/form-data">';
echo '<input type="hidden" name="product_id" value="167" />
<input type="hidden" name="cart_type" id="type" value="cart"/>
<input type="hidden" name="add" value="1"/>
<input type="hidden" name="ctrl" value="product"/>
<input type="hidden" name="task" value="updatecart"/>
<input type="hidden" id="exemplaires" name="data[item][exemplaires]" value="'.$testvalex.'" />
...etc
J'appelle donc la fonction updatecart, qui fonctionne comme prévu. Or, je voudrais que le nouveau produit ainsi généré vienne écraser celui qui se trouve dans le panier au lieu de créer une nouvelle ligne avec tous les champs item correspondants. Je ne sais pas si je suis clair ?
Donc ma question au final : y-a-t-il un moyen simple, avec une fonction déjà existante ou à retoucher, ou est-ce qu'il faut que je reprenne tout le code ?