2013-04-11 4 views
2

Я пытаюсь показать меню подкатегорий категорий prestashop внутри всех подкатегорий. По умолчанию вы можете видеть меню подкатегорий внутри категории, но вы не видите подкатегории «брат» подкатегории.Меню подкатегорий 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} 

Есть идеи?

Большое спасибо

+0

вам нужно быть более конкретным. что вы пробовали? что не получилось? –

+0

Я попытался добавить этот код: {$subcategory.name|escape:'htmlall':'UTF-8'} в подкатегорию страницы и не работал, мне кажется, мне нужно отредактировать $ другим для работы внутри страницы подкатегории. – user2268430

ответ

0

как всегда я не дам вам полный код, но я расскажу вам, как это сделать. в smarty вам нужно создать функцию, которая принимает в качестве номера параметра родительскую категорию, , и в этой функции вам нужно использовать Category :: getChildren ($ id_category), а затем в smarty вам нужно только пройти цикл через функцию smarty.

Отношения

и извините за мой английский.

0

Для начала я бы создал файл переопределения в/переопределение/контроллеры /, названный 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(); 
    } 
} 

?> 

И в продакт-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_category}class="active"{/if}> {$elemento.name} </li> </a> 
    {/foreach} 
</ul> 

через Get sibling categories in category.tpl for the current category in prestashop

Смежные вопросы