dib258 Posted February 2, 2015 Share Posted February 2, 2015 Bonjour, Je suis entrain de creer un module qui doit rentrer en action avec le module blockcart et blocklayered. Je m'explique. Ce module doit permettre d'effectuer une restriction dans le nombre de produits a commander et par exemple de bloquer les produits provenant d'asie, quand on vient d'ajouter un element provenant d'europe. Ne voulant pas modifier le blockcart. J'ai opter pour un script js qui pour l'instant arrive a attraper certains evenement du blockcart (copie des surcharges des triggers des boutons d'ajout qui sont dans le ajax-cart.js). Par contrje n'ai pas encore vraiment trouver de solution fonctionnelle pour arriver a appeller mon script lors de la suppression d'un element dans le blockcart. Aussi, pour la suite du fonctionnement, je n'ai trouver nul part un moyen facile de pouvoir activer les filtres du module de navigation a facettes (blocklayered) via javascript. J'aimerais pouvoir lors de l'ajout du premier item dans le panier pouvoir filtrer les produits par zone et bloquer cette zone pour le reste de la commande. Sauf si on vide le cart entierement. Avez-vous des solutions, des idees ou de la doc qui pourrait m'aider ? Merci d'avance. Link to comment Share on other sites More sharing options...
dib258 Posted February 2, 2015 Author Share Posted February 2, 2015 Merci pour cette reponse rapide ! J'ai deux questions : - Est-ce-que avec cette maniere de proceder, la page doit etre rechargee pour que le filtre soit active ? - Comme ces filtres vont etre active par mon script js, comment puis-je faire pour rendre ce filtre actif si ce n'est effectuer une redirection ce qui ne me convient pas. Link to comment Share on other sites More sharing options...
dib258 Posted February 2, 2015 Author Share Posted February 2, 2015 Ok, donc si je comprends bien, je dois effectuer une redirection avec les options dans l'url. Sinon je dois etudier tout le codes pour creer un override. Pour l'instant, j'ai deja pas mal etudier le module blockcart mais j'esperait qu'il y ai un solution prefaite pour le blocklayered. Link to comment Share on other sites More sharing options...
dib258 Posted February 3, 2015 Author Share Posted February 3, 2015 (edited) Je viens de tester la technique de modification du lien #/origin-asie et cela ne fonctionne pas. Cela ammorce bien la recherche comme si je cliquais sur le filtre du blocklayered mais apres cette recherche l'url est modifie automatiquement et remplace mon filtre par un #. Les produits restent tous present et ceux d'europe ne disparaisse pas. J'ai remarque que si je voulais, dans le menu a gauche des filtres, cliquer sur europe (le liens), cela ne fonctionne pas non plus, alors que si je cliques sur le checkbox de europe, dans ce cas cela le filtre fonctionne. Y-a-t'il une erreur dans le module de base ou bien une valeur a ajouter en javascript qui permet de faire fonctionner la requete ? Edited February 3, 2015 by dib258 (see edit history) Link to comment Share on other sites More sharing options...
dib258 Posted February 3, 2015 Author Share Posted February 3, 2015 Je suis effectivement en local. Je n'ai fait aucune modification d'urlrewriting ou autre, mon prestashop est d'origine. Mon url ressemble a cela : http://localhost:8888/prestashop/fr/12-so-babies# Link to comment Share on other sites More sharing options...
dib258 Posted February 3, 2015 Author Share Posted February 3, 2015 Je viens d'installer un Presta sur un hebergement en ligne. http://ldero.me/fr/5-t-shirts Je suis deja content que le debut de mon module s'exporte parfaitement pour l'instant ! Link to comment Share on other sites More sharing options...
dib258 Posted February 3, 2015 Author Share Posted February 3, 2015 Pour avoir une idee, voici le code que je viens d'ecrire en javascript if ( (parseInt(quantity) > 0) && $itemInCart == false ) { // We tracked the first product in the cart $itemInCart = true; var url = document.location; document.location = url + "#/origin-europe"; reloadContent(true); } else if ( (parseInt(quantity) == 0) && $itemInCart == true ) { $itemInCart == false; var url = document.location; url.replace('#/origin-europe', ''); reloadContent(true); } Le script est bien execute et essaye de faire un rafraichissement avec le nouveau filtre mais celui-ci est aussitot retire et dans l'url il ne reste que le #. Ce qui est le comportement que je retrouve quand je clique sur le liens dans le menu de navigation a facette a gauche. Alors que, si je clique bien dans le input checkbox de ce dernier, alors la, la filtre se fait correctement. Est ce que je dois rajouter doit appeller une autre methode javascript du blocklayered pour que ce filtre se mette vraiment en place ? Merci d'avance. Link to comment Share on other sites More sharing options...
pastashop Posted April 16, 2015 Share Posted April 16, 2015 Bonjour, je m'intéresse aussi à ce sujet. Avez-vous réussi à avancer ? (Je cherche à comprendre comment le filtre est transmis au template. Mon but est d'ignorer tous les produits hors stock de la DB.) Merci 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