Jump to content

Recommended Posts

Bonjour, j'utilise TM Megamenu, prestashop 1.6.1.6,

J'ajoute mes catégories dans une colonne du menu via l'admin.

Or ma catégorie à trois niveaux:

Categorie

- sous-catégorie 1

    - sous-catégorie 2

Comment limiter l'affichage des sous-catégories à un seul niveau ? (ne pas afficher la sous-catégorie 2)

Je cherche depuis un moment mais je ne trouve pas comment, Merci pour votre aide.

 

 

Link to comment
Share on other sites

A la ligne 1441 j'ai : 

        foreach ($categories as $category) {
            if ($category['level_depth'] > 1) {

est ce que c'est cela qui definit le tree des subacategories que le menu affiche ? je suis un brin largué :(

Link to comment
Share on other sites

j'ai essayé en changeant:

            if (isset($category['children']) && !empty($category['children'])) {
                $html .= '<ul>';
                    $html .= $this->generateCategoriesMenu($category['children'], 1);
                $html .= '</ul>';
            }

par 

            if (isset($category['children']) &&($category['level_depth'] < 3)) {
                $html .= '<ul>';
                    $html .= $this->generateCategoriesMenu($category['children'], 1);
                $html .= '</ul>';
            }

mais ca me masque juste toutes les subcategories est ce que je fais une erreur ? désolé suis pas pro avec php

Link to comment
Share on other sites

OK j'ai trouvé:

pour masquer mes subcatégories avec TM Mega Menu, cela marche comme voulu avec:

    /*****
    ****** Get all categories items with nesting
    ****** $categories = category id
    ****** return: nested list with all categories
    *****/
    protected function generateCategoriesMenu($categories)
    {
        $html = '';

        foreach ($categories as $category) {
            if ($category['level_depth'] > 1) {
                $cat = new Category($category['id_category']);
                $link = Tools::HtmlEntitiesUTF8($cat->getLink());
            } else {
                $link = $this->context->link->getPageLink('index');
            }

            $html .= '<li'.(($this->page_name == 'category'
                && (int)Tools::getValue('id_category') == (int)$category['id_category']) ? ' class="sfHoverForce category"' : ' class="category"').'>';
            $html .= '<a href="'.$link.'" title="'.$category['name'].'">'.$category['name'].'</a>';

            if (isset($category['children']) &&($category['level_depth'] < 4)) {
                $html .= '<ul>';
                    $html .= $this->generateCategoriesMenu($category['children'], 1);
                $html .= '</ul>';
            }

            $html .= '</li>';
        }

        return $html;
    }

Enorme merci à Performance Agency pour la solution. Faut que j'apprenne à m'exprimer mon tree étais level depth 4, pas 3

Edited by Coal_Sa (see edit history)
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...