Тема: Подкатегории
Добрый день. Подскажите в каком файле найти условие, если зайти в подкатегорию(sub_dir) то остальные подкатегории пропадают. Хочу сделать что бы они оставались
Форум ReadyScript Вопросы по работе с системой Подкатегории
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Добрый день. Подскажите в каком файле найти условие, если зайти в подкатегорию(sub_dir) то остальные подкатегории пропадают. Хочу сделать что бы они оставались
В самом шаблоне выводятся только подкатегории текущей категории. У вас какая тема оформления?
Классическая. Вы просили создать тему на форуме, мы с вами общались по майлу
Классическая. Вы просили создать тему на форуме, мы с вами общались по майлу
Отвечают разные люди.
Шаблон классической, который отвечает за вывод категорий находится в
/modules/catalog/view/list_products.tpl
Его для правки надо скопировать в:
/templates/default/moduleview/catalog/list_products.tpl
Там есть объект текущей категории в переменной $category.
id родительской категории находится в поле $category.parent.
Для получения категорий вы можете воспользоваться АПИ из текущего контроллера
{$my_subdirs=$this_controller->dirapi->getChilds($category.parent)}
Вот спасибо ,вот этой строчки кода мне не хватало. Вот полное решение:
в list_product.tpl после
{$list = $this_controller->api->addProductsDirs($list)}
вставить
{$dirapi = $this_controller->api->resetQueryObject()->setFilter('public', 1)->setFilter('parent', $category->parent)}
{$my_subdirs=$this_controller->dirapi->getChilds($category.parent)}
и заменить на:
<nav class="subCategory">
{if $sub_dirs}
{foreach $sub_dirs as $item}
<a href="{urlmake category=$item._alias p=null f=null bfilter=null}">{$item.name}</a>
{/foreach}
{else}
{foreach $my_subdirs as $item}
<a href="{urlmake category=$item._alias p=null f=null bfilter=null}">{$item.name}</a>
{/foreach}
{/if}
</nav>
Но как подсветить активную подкатегорию? через ->isAct() не работает?
isAct метода не существует в объекте директорий. В блочных категориях он просто приписывается. В Вашем случае - в случае front контроллера, идет просто сам объект категорий. Вы можете проверить используя поле alias у директории.
В шаблоне присутствует переменная $url.
{* Получаем алиас из переменой в $_REQUEST *}
{$alias=$url->request('category', 'string')}
Далее просто нужно сравнить эту переменную с полем у категории.
{if $alias==$dir.alias}
//Ваш код
{/if}
1. Что такое обрешина?
2. У спецкатегорий есть поле is_spec_dir можно его тоже проверить.
{if $item.is_spec_dir!='Y'}
{/if}
что то не работает?
3. Проверьте название переменной. Я $dir привёл для примера.
1. Обрешина я имел в виду, что вылезли еще и спец категории.
2. С активной ссылкой разобрался спасибо.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форум ReadyScript Вопросы по работе с системой Подкатегории