Prestashop 子类别中的子类别菜单

Posted

技术标签:

【中文标题】Prestashop 子类别中的子类别菜单【英文标题】:Prestashop subcategories menu inside a subcategory 【发布时间】:2013-04-03 02:03:54 【问题描述】:

我正在尝试在所有子类别中显示 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

有什么想法吗?

非常感谢

【问题讨论】:

您需要更具体一点。你试过什么?什么没用? 我已尝试添加此代码:$subcategory.name|escape:'htmlall':'UTF-8' 在子类别页面中并且没有工作,我想我需要将 $ 编辑给其他人才能工作在子类别页面内。 【参考方案1】:

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

问候

对不起我的英语。

【讨论】:

【参考方案2】:

首先我会在 /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();
    


?>

product-list.tpl 文件中:

<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_categoryclass="active"/if> $elemento.name </li> </a>
    /foreach
</ul>

通过Get sibling categories in category.tpl for the current category in prestashop

【讨论】:

以上是关于Prestashop 子类别中的子类别菜单的主要内容,如果未能解决你的问题,请参考以下文章

子菜单拒绝点击打开

Magento 中的子类别列表

为该类别建立一个表,为具有相似字段的子类别建立另一个表,为啥?

WordPress自定义分类父子导航菜单

php [WooCommerce Core]隐藏产品档案中的子类别产品计数

php [WooCommerce Core]隐藏产品档案中的子类别产品计数