Правильный вывод условия в шаблоне
Ситуация следующая: на сайте есть несколько категорий товаров. В одной присутствует сайдбар с сортировками слева и список товаров справа. В другой присутствует просто список ее подкатегорий без сайдбара.
Обе категории используют для вывода товаров один шаблон. В той которая с сайдбаром, ширина блока 77%. Соответственно, в другой такая же ширина. Необходимо чтобы на странице той категории которая без сайдбара, список товаров растягивался бы на полную ширину страницы. Прибавление доп класса не решило бы проблему, так как этот же класс появился бы и на других страницах, шаблон ведь один. Поэтому было принято решение вывести блоки через условие, на одной странице див с одним айдишником, на другой с другим. Записываю условие в шаблоне так:
{if $wa->app() == 'shop' && $page.url == '/category/avtochekhly-po-modelyam/'}
<div id="product-list">
{else}
<div id="cat-list">
{/if}
Эффекта никакого, за исключением того, что айдишник меняется на тот что в else на страницах всех категорий.
Поэтому вопрос: как правильно записать это условие?
Спасибо.
2 ответа
Можно задать нужной категории дополнительный параметр, и в шаблоне прописать, если доп параметр есть, то спрятать сайдбар.
Нет, не совсем так. Сайдбар не надо прятать. Просто он на одних станицах(/category/avtochekhly-po-modelyam/) есть, а на других(/category/avtotovary/) его нет и не должно быть (шаблон с ним не должен подключаться и не подключается). А блок со списком категорий один и тот же. Нужно чтобы этот блок менял свой id в зависимости от страницы категории(чтобы назначать ему разную ширину). Я пишу условие, но шаблонизатор на него не реагирует, а просто подставляет по умолчанию второй id.
Просто я не знаю как следует правильно написать условие в текущей версии Webasyst.