Prestashop 子类别内的“预览子类别”菜单

Prestashop 子类别内的“预览子类别”菜单,prestashop,Prestashop,我试图在所有子类别中显示prestashop类别的子类别菜单。默认情况下,您只能看到类别内的子类别菜单,但无法看到子类别的“兄弟”子类别 我认为我只需要使此代码在子类别内工作,因为此代码在类别内工作良好: {foreach from=$subcategories item=subcategory} <li > <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_re

我试图在所有子类别中显示prestashop类别的子类别菜单。默认情况下,您只能看到类别内的子类别菜单,但无法看到子类别的“兄弟”子类别

我认为我只需要使此代码在子类别内工作,因为此代码在类别内工作良好:

{foreach from=$subcategories item=subcategory}
<li >    <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}"
class="cat_name">{$subcategory.name|escape:'htmlall':'UTF-8'}</a>
</li>    {/foreach}
{foreach from=$subcategories item=subcategory}
  • {/foreach}
    有什么想法吗


    非常感谢

    一如既往,我没有给你完整的代码,但我会告诉你怎么做。 在smarty中,您需要创建一个函数,将父类别的参数编号作为, 在这个函数中,您需要使用Category::getChildren($id\u Category);然后在smarty中,您只需通过smarty函数进行循环

    问候


    我的英语很抱歉。

    首先,我会在/override/controllers/中创建一个覆盖文件,名为CategoryController.php

    并加上:

    <?php
    
    class CategoryController extends CategoryControllerCore
    {
        public function displayContent()
        {
            // Get the global smarty object.
            global $smarty;
    
            // Get current category's parent.
            $parent_category = new Category($this->category->id_parent, self::$cookie->id_lang);
    
            // Get parent category's subcategories (which is current category's siblings, including it self).
            $category_siblings = $parent_category->getSubCategories((int)self::$cookie->id_lang)
    
            /* Assign your siblings array to smarty. */
            $smarty->assign(
                array(
                    "category_siblings" => $category_siblings
                )
            );
    
            /* This we run the normal displayContent, but pass the siblings array to
               category.tpl */
            parent::displayContent();
        }
    }
    
    ?>
    

    您需要更具体一点。你试过什么?什么不起作用?我尝试添加以下代码:在子类别页面中,但不起作用,我想我需要编辑$to others,以便在子类别页面中起作用。
    
    <ul>
        {foreach from=$category_siblings item=elemento}
             <a href="{$link->getCategoryLink($elemento.id_category, $elemento.link_rewrite)|escape:'htmlall':'UTF-8'}" class="cat_name"> <li {if $category->id == $elemento.id_category}class="active"{/if}> {$elemento.name} </li> </a>
        {/foreach}
    </ul>