mediatic services Posted November 25, 2010 Share Posted November 25, 2010 Bonour à tous, je voudrais savoir s'il est possible de désactiver certains liens du menu Superfished Modified, dans ma boutique on peut cliquer sur "Oeuvres et reproductions" et "Publications" et "Divers" et je voudrais désactiver ces accès.MerciLien vers la boutique : http://premium.ovh.net/~spacejun/prestashop/ Link to comment Share on other sites More sharing options...
peps_cyd Posted November 26, 2010 Share Posted November 26, 2010 J'ai utilisé une solution qui vaut ce qu'elle vaut mais qui marche très bien pour moi.Tu dois modifier la méthode getCategory() dans la page blocktopmenu.php.Voici la méthode que j'ai utilisée :- Dans ton BO, tu repères les ID des catégories que tu ne veux pas rendre cliquable dans ton menu horizontal (par ex. les 2 et 8).- Aux alentours des lignes 430 de blocktopmenu.php (tu dois te trouver dans la méthode getCategory()), tu changes la ligne suivante : $this->_menu .= '<[balise A] href="'.$categorie->getLink().'">'.$name.''; par le bloc conditionnel suivant : if ( $id_category != 1 && $id_category != 2 && $id_category != 3 ) $this->_menu .= '<[balise A] href="'.$categorie->getLink().'">'; else $this->_menu .= ''; $this->_menu .= $name.''; Et voilà : tes catégories 2 et 8 ne sont plus cliquables dans ton menu.J'espère que ça répond à ta question. Link to comment Share on other sites More sharing options...
mediatic services Posted November 26, 2010 Author Share Posted November 26, 2010 Merci Peps, j'ai testé ta suggestion mais j'ai une page blanche pour résultat, j'imagine que ça se joue à un caractère près !!!Voici ma partie getCategory originale private function getCategory($id_category, $id_lang) { global $page_name; $categorie = new Category($id_category, $id_lang); if(is_null($categorie->id)) return; $selected = ($page_name == 'category' && ((int)Tools::getValue('id_category') == $id_category)) ? ' class="sfHoverForce"' : ''; $this->_menu .= ''; if(count(explode('.', $categorie->name)) > 1) $name = str_replace('.', '', strstr($categorie->name, '.')); else $name = $categorie->name; $this->_menu .= 'getLink().'">'.$name.''; $childrens = Category::getChildren($id_category, $id_lang); if(count($childrens)) { $this->_menu .= ' '; foreach($childrens as $children) $this->getCategory($children['id_category'], $id_lang); $this->_menu .= ''; } $this->_menu .= ''; }si ça peut mettre quelqu'un sur la voie Link to comment Share on other sites More sharing options...
mediatic services Posted November 26, 2010 Author Share Posted November 26, 2010 désolé pour la mise en forme !je refait: private function getCategory($id_category, $id_lang){global $page_name;$categorie = new Category($id_category, $id_lang); if(is_null($categorie->id))return;$selected = ($page_name == 'category' && ((int)Tools::getValue('id_category') == $id_category)) ? ' class="sfHoverForce"' : ''; $this->_menu .= '';if(count(explode('.', $categorie->name)) > 1) $name = str_replace('.', '', strstr($categorie->name, '.')); else$name = $categorie->name;$this->_menu .= 'getLink().'">'.$name.''; //je suppose que tu parles de cette ligne$childrens = Category::getChildren($id_category, $id_lang);if(count($childrens)){$this->_menu .= ' '; foreach($childrens as $children)$this->getCategory($children['id_category'], $id_lang); $this->_menu .= '';} $this->_menu .= ''; } Link to comment Share on other sites More sharing options...
mediatic services Posted November 26, 2010 Author Share Posted November 26, 2010 bon et bien il faudra qu'on m'explique aussi comment mettre en forme un message sur ce forum Link to comment Share on other sites More sharing options...
peps_cyd Posted November 26, 2010 Share Posted November 26, 2010 Effectivement, ça se joue toujours au caractère près en PHP.Regarde bien ton code. J'ai fait pareil et du coup, j'ai essayé corrigé : il y avait une erreur dans le code que je te proposais car le système fait une auto-correction sur la balise A. Et donc prends mon code dans l'esprit et conserve la partie de la balise A cohérente.Perso, je ne sais pas non plus vraiment comment présenter correctement le code (je viens d'utiliser le bouton 'code' situé au-dessus du pavé de saisie de message. Dans la prévisualisation, tout semble OK, mais une fois en ligne la balise A fait n'importe quoi.CORRECTION : du coup, regarde à nouveau mon code ci-dessus qui est bon sauf qu'il faut changer [balise A] par a, tout simplement... Ouf!!! Link to comment Share on other sites More sharing options...
mediatic services Posted November 26, 2010 Author Share Posted November 26, 2010 Impeccable ça marche !!!!Merci à toi tu m'évites un week-end pourri !!! Mon problème est résolu c'est cool !!!!!! Link to comment Share on other sites More sharing options...
peps_cyd Posted November 26, 2010 Share Posted November 26, 2010 Du coup, la météo peut être un autre facteur de week-end pourri ;-) Link to comment Share on other sites More sharing options...
mimilu83 Posted April 3, 2011 Share Posted April 3, 2011 Bonjour,Je me permet de déterrer ce post.J'essaye de désactiver le clique sur certaines catégories de mon block topmenu.J'ai suivi la méthode decrite.Rien à dire ça marche au niveau du clique; désactivé.En revanche le titre de mes catégories et sous catégories apparait maintenant en double. ( C'est à dire que pour l'onglet "PAYS", j'ai une deuxième fois marqué "Pays" en dessous de l'onglet.)Auriez vous une idée du pourquoi du comment??Vous remerciant par avance très chaleureusement pour votre aide.Miguel Link to comment Share on other sites More sharing options...
mimilu83 Posted April 3, 2011 Share Posted April 3, 2011 OupsssssDésolé, j'avais un bout de l'ancien code du coup: $this->_menu .= $name.'' apparaissait deux fois.Bon du coup ça marche nickel!!!Merci beaucoup pour le tuyau! Link to comment Share on other sites More sharing options...
daseb Posted July 18, 2011 Share Posted July 18, 2011 Hello !Je re-déterre ce post. Ca marche nikel pour moi aussi.Par contre je voulais faire la même chose mais pour blockcategories. Je n'arrive pas à dénicher l'endroit dans le code sur le fichier php ou je peux faire la modif.Qqun a -t-il une idée ??merci !! Link to comment Share on other sites More sharing options...
ladybeug Posted December 11, 2012 Share Posted December 11, 2012 Je me pose la même question daseb, j'ai trouvé un post qui en parle voir ici : http://www.prestashop.com/forums/topic/280[spam-filter]resolu-categorie-non-cliquable/ mais ça ne fonctionne pas pour moi, je suis sur prestashop 1.5 Pour ma part, j'ai légèrement modifié le code en remplaçant ça : $this->_menu .= '<a href="'.$category_link.'">'.$category->name.'</a>'; par if( $id_category !=11&& $id_category !=12&& $id_category !=6 && $id_category !=10) $this->_menu .='<a href="'.$category_link.'">'.$category->name.'</a>'; else $this->_menu .='<a href="#">'.$category->name.'</a>'; $this->_menu .= $name.''; ça fonctionne nickel, merci médiatic service 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