Sami59100 Posted May 24, 2015 Share Posted May 24, 2015 Bonjour, J'ai un champs personalisation sur ma page produit, et j'ai réussi a modifier la fonction add du fichier ajax-cart.js, et le fichier Cart.php, pour que cela s'ajoute dans la base de données dans la table cart_product, dans un nouveau champs préalablement crée. J'ai également réussi à faire en sorte que lorsque l'on repersonnalise le même produit, puis l'ajoute au panier, on vérifie également le champs de personnalisation pour vérifier que c'est bien un produit différent, et donc au final j'ai deux lignes dans mon panier. Ce que je n'arrive pas, c'est pour supprimer un des produits du panier, dans le cas où il y a deux fois le même produit, mais avec des codes de personnalisation différents. J'ai tenté de faire comme pour add de ajax-cart, j'ai rajouter mon code personnalisation dans le data-id du produit dans le panier, ce qui fait que j'arrive logiquement à le récupérer dans le ajax-cart dans cette partie : if (!customizationId) { //retrieve idProduct and idCombination from the displayed product in the block cart var firstCut = $(this).parent().parent().data('id').replace('cart_block_product_', ''); firstCut = firstCut.replace('deleteCustomizableProduct_', ''); ids = firstCut.split('_'); productId = parseInt(ids[0]); MONCODEPERSO = ids[3]; if (typeof(ids[1]) != 'undefined') productAttributeId = parseInt(ids[1]); if (typeof(ids[2]) != 'undefined') idAddressDelivery = parseInt(ids[2]); } ajaxCart.remove(productId, productAttributeId, customizationId, idAddressDelivery, MONCODEPERSO); Ensuite, dans la définition de la fonction remove, je fais comme suit : remove : function(idProduct, idCombination, customizationId, idAddressDelivery, MONCODEPERSO){ [...] data: 'controller=cart&delete=1&id_product=' + idProduct + '&ipa=' + ((idCombination != null && parseInt(idCombination)) ? idCombination : '') + ((customizationId && customizationId != null) ? '&id_customization=' + customizationId : '') + '&id_address_delivery=' + idAddressDelivery + '&moncodeperso=' + MONCODEPERSO + '&token=' + static_token + '&ajax=true', Mais maintenant, je ne sais plus ce que je dois faire. J'ai beau cherché sur les forums depuis quelques jours, avoir testé tout ce qui m'est passé par la tête avec la classe Cart et le controller du même nom, mais malheureusement mission impossible. C'est pourquoi je viens maintenant faire appel à vous, en espérant que vous pourrez m'apporter votre aide. J'espère avoir été clair avec mon problème. Merci d'avance ! Link to comment Share on other sites More sharing options...
monarche Posted May 25, 2015 Share Posted May 25, 2015 Pour une raison X .. j'ai pas pu faire fonctionné comme je veux la méthode remove. et j'ai résolu mon problème en ajoutant un (operator) dans cart.php ligne 922. j'ai ajouter elseif ($operator == 'trott') { $qty = '- 1'; $new_qty = (int)$result['quantity'] - 1; if ($new_qty < $minimal_quantity && $minimal_quantity > 1) return -1; } puis : $.get("panier?add=1&id_product="+infonet[1]+"&ipa="+infonet[0]+"&id_address_delivery=0&op=trott"); pour les appels de suppression. voila. j’espère que ça peut te donner des idées. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now