Jump to content

Module qui ecoute les evenements de blockcart et modifie les filtres de blocklayered


Recommended Posts

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

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

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

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 by dib258 (see edit history)
Link to comment
Share on other sites

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

  • 2 months later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...