Jump to content

[résolu]Block catégorie, "ouvrir" une seule catégorie


Recommended Posts

Bonjour,

Je suis de retour avec mon block catégorie, pour vous jouer un mauvais tour ... ok je sort.
Bref c'est vachement sympa le système de ne pas afficher toutes les sous catégories, mais de les afficher après avoir cliquer sur la petite image (le plus) à coté de la catégorie parente.

Le problème c'est que si on clique sur tous les "plus", on voit à l'écran toutes les sous catégories, est quand on en a pas mal on se retrouve avec une page d'1 km de haut ... vous allez me dire "oui mais personne ne va ouvrir toutes les catégories" mais moi je ne veux pas que ça se fasse, je trouve ça un peut moche.

Alors je voudrais avoir des tuyaux sur comment on peut faire pour quand on ouvre une autre catégorie, la catégorie qui était ouverte avant se ferme en même temps.
Il faut penser aussi qu'il ne faut pas fermer la/les catégorie/s parente/s si on ouvre une sous catégorie, mais de fermer la catégorie et toutes les sous catégories de celle-ci quand on ouvre une autre catégorie.

Il y a t'il des gens qui se sont déjà poser la question est qui ont des idées sur comment faire ou d'autres personnes qui on des informations utiles à me fournir.

Merci d'avance.

  • Like 1
Link to comment
Share on other sites

Finalement j’ai réussi à faire ce que je voulais.
Donc je le garde pas que pour moi, si ils y en a qui veulent faire la même chose voila ce que j'ai modifié :

pour ça j’ai modifier le fichier : treeManagement.js
qui ce trouve ici : prestashop\themes\"monthème"\js\tools

j'ai modifier ça :

//animate the closing or opening of the branch (ul jQueryElement)
function toggleBranch(jQueryElement, noAnimation) {
   if(jQueryElement.hasClass('OPEN'))
       closeBranch(jQueryElement, noAnimation);
   else
       openBranch(jQueryElement, noAnimation);
}



par:

//animate the closing or opening of the branch (ul jQueryElement)
function toggleBranch(jQueryElement, noAnimation) {
   if(jQueryElement.hasClass('OPEN')) {
       closeBranch(jQueryElement, noAnimation);
   } else {
       jQueryElement.parent().parent().find('span.grower.OPEN').each(function(){
           closeBranch($(this));
       });
       openBranch(jQueryElement, noAnimation);
   }
}



et faut pas oublier de changer les "toggleBranch" par "openBranch" dans le bout de code suivant :

//open the tree for the selected branch
   $('ul.tree.dhtml .selected').parents().each( function() {
       if ($(this).is('ul'))
           toggleBranch($(this).prev().prev(), true);
   });
   toggleBranch( $('ul.tree.dhtml .selected').prev(), true);

Link to comment
Share on other sites

  • 1 year later...

Bonjour et merci Quentinj pour ce bout de code,

 

Je constate à ma grande déception qu'il ne fonctionne pas avec la version 1.4.7.0

 

(aucun changement)

 

Pourrais tu communiquer la méthode afin de le rendre compatible?

 

Merci par avance.

 

Flobike

Link to comment
Share on other sites

bonjour,

 

modification apportée sur une 1.4.7 pas plus tard que la semaine dernière : tout est ok !

 

pensez à désactiver vos caches / CCC etc + forcer la compilation smarty puis recharger la page. tout devrait être ok.

pensez à bien réactiver vos parametres ensuites.

Link to comment
Share on other sites

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...