Jump to content

Edit History

JoliBazar

JoliBazar

Bonjour,

Je cherche à limiter le nombre de niveaux du menu principal sous Prestashop 8.1.2 mais n'y suis pour l'instant pas parvenu.

J'aimerais que ce menu affiche les catégories principales et secondaires, mais pas les tertiaires et agir vraiment au niveau des entrées de menu créées plutôt que de les rendre invisible en CSS.

M'inspirant de ce didacticiel https://www.lije-creative.com/prestashop-limiter-arborescence-menu/
j'ai tenté d'adapter à Prestashop 8, en éditant la fonction generateCategoriesMenu,
laquelle se trouve à la ligne 754 du fichier /modules/ps_mainmenu/psmainmenu.php

J'ai tenté d'ajouter une condition sur $category['level_depth'] pour sortir de la boucle foreach si level_depth dépasse une certaine profondeur, mais cela n'a eu aucun effet.

    protected function generateCategoriesMenu($categories, $is_children = 0)
    {
        $nodes = [];

        foreach ($categories as $key => $category) {
            $node = $this->makeNode([]);
            if ($category['level_depth'] > 1) {
                $cat = new Category($category['id_category']);
                $link = $cat->getLink();

Je vois qu'il y a deux appels de la méthode generateCategoriesMenu, aux lignes 575 et 786 du même fichier.
Il me semble qu'il serait idéalement plus pertinent de poser une condition au niveau de ces appels appels de méthode.

JoliBazar

JoliBazar

Bonjour,

Je cherche à limiter le nombre de niveaux du menu principal sous Prestashop 8.1.2 mais n'y suis pour l'instant pas parvenu.

J'aimerais que ce menu affiche les catégories principales et secondaires, mais pas les tertiaires et agir vraiment au niveau des entrées de menu créées plutôt que de les rendre invisible en CSS.

M'inspirant de ce didacticiel https://www.lije-creative.com/prestashop-limiter-arborescence-menu/
j'ai tenté d'adapter à Prestashop 8, en éditant la fonction generateCategoriesMenu,
laquelle se trouve à la ligne 754 du fichier /modules/ps_mainmenu/psmainmenu.php

J'ai tenté d'ajouter une condition sur $category['level_depth'] pour sortir de la boucle foreach si level_depth dépasse une certaine profondeur, mais cela n'a eu aucun effet.

    protected function generateCategoriesMenu($categories, $is_children = 0)
    {
        $nodes = [];

        foreach ($categories as $key => $category) {
            $node = $this->makeNode([]);
            if ($category['level_depth'] > 1) {
                $cat = new Category($category['id_category']);
                $link = $cat->getLink();

Je vois qu'il y a deux appels de la méthode generateCategoriesMenu, aux lignes 575 et 786 du même fichier.
Il me semble qu'il serait idéalement plus pertinent de poser une condition au niveau de ces appels appels de méthode.

×
×
  • Create New...