1 Отредактировано Андрей (25.12.2018 11:51:28)

Тема: Вывод модуля взависимости от категории

Здравствуйте.

Идея: вывести модуль на страницах определённой родительской категории

Вот код.


{if $route_manager=$router->getCurrentRoute()}
    {$route_id=$route_manager->getId()}
{/if}

{if $route_id=="catalog-front-listproducts"}

    {$category_alias=$this_controller->request('category','string')} 

    {static_call var=category callback=['\Catalog\Model\Orm\Dir', 'loadByWhere'] params=[['alias'=>$category_alias]]} 
    
    {if $category.parent=="191"}
             
            $parentCat="toys"

    {/if}


    {moduleinsert name="Article\Controller\Block\Lastnews"  indexTemplate="blocks/lastnews/artInCat191.tpl" category="toys"}

    {/if}
    
{if 1>0}

    {/if}

    
{if 0>1}

    {/if}

{/if}

1) Как изменить код indexTemplate="blocks/lastnews/artInCat191.tpl" , чтобы 191 бралось из переменной "$category.parent" (это ID родительской категории)

2) Как изменить код category="toys" , чтобы toys бралось из переменной "$parentCat" (это ALIAS категории контента)

3) Модуль выводится всегда, вне зависимости от условия. Например блок if 1>0 и наоборот if 0<1 - в любом варианте выводится модуль

Повысить оценку Понизить оценку

Re: Вывод модуля взависимости от категории

1.
Попробуйте так:

{$tmp="blocks/lastnews/artInCat"|cat:$category.parent|cat:".tpl"}
{moduleinsert name="Article\Controller\Block\Lastnews"  indexTemplate=$tmp category="toys"}

2.

{moduleinsert name="Article\Controller\Block\Lastnews"  indexTemplate=$tmp category=$parentCat}

3. А кэш системы сбрасывали?

3 Отредактировано Андрей (12.01.2019 10:11:43)

Re: Вывод модуля взависимости от категории

Александр, спасибо.

Это то, что нужно. Как вставить переменную в переменную с текстом не знал.

Пытался как в PHP, но не знал, что в Smarty вообще такой интересный синтаксис |cat:

...........................

По поводу условий. Проблема была в том, что вызывалось исключение. Если нет исключения, то выводит именно там, где нужно блок.

Повысить оценку Понизить оценку

4

Re: Вывод модуля взависимости от категории

Андрей пишет:

Пытался как в PHP, но не знал, что тут вообще такой интересный синтаксис |cat:

Это не "тут", это smarty
https://www.smarty.net/docsv2/ru/
smarty, конечно, похож на php и создавался с оглядкой на его синтаксис, но отличий предостаточно