Тема: Как вставить один модуль в другой с нужным шаблоном

в catalog.tpl вставляю
<li>
{moduleinsert name="\Menu\Controller\Block\Menu" hideAutoComplete=true}
</li>
и отображается меню со стандартным шаблоном . Подскажите как правильно прописать, чтобы меню было с другим шаблоном Например с шаблоном (moyo_menu.tpl)

2

Re: Как вставить один модуль в другой с нужным шаблоном

Menu\Controller\Block\Menu - потомок RS\Controller\StandartBlock, значит он принимает параметры, которые принимает StandartBlock. Смотрим какие параметры принимает StandartBlock в методе getParamObject, видим:

$controller_param_object = new ControllerParamObject(
            new PropertyIterator(array(
                'indexTemplate' => new Type\Template(array(
                    'description' => t('Шаблон'),
                    'attr' => array(array(
                        'placeholder' => $this->default_params['indexTemplate']
                    ))
                ))
            ))
        );

Соответственно можно добавить параметр indexTemplate и указать в нем шаблон для рендеринга:

{moduleinsert name="\Menu\Controller\Block\Menu" hideAutoComplete=true indexItemplate="........"}

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

3

Re: Как вставить один модуль в другой с нужным шаблоном

admin пишет:

Menu\Controller\Block\Menu - потомок RS\Controller\StandartBlock, значит он принимает параметры, которые принимает StandartBlock. Смотрим какие параметры принимает StandartBlock в методе getParamObject, видим:

$controller_param_object = new ControllerParamObject(
            new PropertyIterator(array(
                'indexTemplate' => new Type\Template(array(
                    'description' => t('Шаблон'),
                    'attr' => array(array(
                        'placeholder' => $this->default_params['indexTemplate']
                    ))
                ))
            ))
        );

Соответственно можно добавить параметр indexTemplate и указать в нем шаблон для рендеринга:

{moduleinsert name="\Menu\Controller\Block\Menu" hideAutoComplete=true indexItemplate="........"}

Подскажите пожалуйста как правильно прописать путь к шаблону? а то что то не получается, вставляю так:

{moduleinsert name="\Menu\Controller\Block\Menu" hideAutoComplete=true indexItemplate="templates/moy-shablon/moduleview/menu/blocks/menu/catalog_menu.tpl"}

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

4

Re: Как вставить один модуль в другой с нужным шаблоном

Денис пишет:
admin пишет:

Menu\Controller\Block\Menu - потомок RS\Controller\StandartBlock, значит он принимает параметры, которые принимает StandartBlock. Смотрим какие параметры принимает StandartBlock в методе getParamObject, видим:

$controller_param_object = new ControllerParamObject(
            new PropertyIterator(array(
                'indexTemplate' => new Type\Template(array(
                    'description' => t('Шаблон'),
                    'attr' => array(array(
                        'placeholder' => $this->default_params['indexTemplate']
                    ))
                ))
            ))
        );

Соответственно можно добавить параметр indexTemplate и указать в нем шаблон для рендеринга:

{moduleinsert name="\Menu\Controller\Block\Menu" hideAutoComplete=true indexItemplate="........"}

Подскажите пожалуйста как правильно прописать путь к шаблону? а то что то не получается, вставляю так:

{moduleinsert name="\Menu\Controller\Block\Menu" hideAutoComplete=true indexItemplate="templates/moy-shablon/moduleview/menu/blocks/menu/catalog_menu.tpl"}

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

{moduleinsert name="\Menu\Controller\Block\Menu" hideAutoComplete=true indexItemplate="/templates/moy-shablon/moduleview/menu/blocks/menu/catalog_menu.tpl"}

или добавить /,или можно /../

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

5

Re: Как вставить один модуль в другой с нужным шаблоном

Правило построения пути к шаблону такие:

Абсолютный URL:

%ИМЯ МОДУЛЯ%/ПУТЬ К ШАБЛОНУ ОТНОСИТЕЛЬНО ПАПКИ VIEW.tpl

Пример:
%users%/register.tpl = /templates/ТЕМА/moduleview/users/register.tpl или /modules/users/view/register.tpl
%users%/notice/touser_register.tpl = /templates/ТЕМА/moduleview/users/notice/touser_register.tpl или /modules/users/view/notice/touser_register.tpl


------------

В {moduleinsert} можно также указывать путь к шаблону относительно папки /view модуля, например

{moduleinsert name="\Menu\Controller\Block\Menu" indexItemplate="blocks/menu/catalog_menu.tpl"}

В этом случае путь к шаблону будет равен /templates/ТЕМА/moduleview/menu/blocks/menu/catalog_menu.tpl или /modules/menu/view/blocks/menu/catalog_menu.tpl

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