Используйте другой шаблон для моей формы обратной связи в магазине5

Мне нужно использовать другой шаблон дизайна для моей страницы контактов Shopware5.

В настоящее время эта форма загружается из контроллера «Form», а представление - «frontend / form / index.tpl», если я могу создать собственный шаблон в каталоге «frontend / form /», я могу решить эту проблему.

Мой вопрос в том, как я могу сказать своему контроллеру использовать новый шаблон, например, если URL-адрес или какой-то идентификатор - «contact-us2» или что-то в этом роде.


person Chathuraka    schedule 24.02.2016    source источник


Ответы (1)


Это можно сделать двумя разными способами.

1. Переключиться на вид:

Вы сможете получить сегмент URL в представлении. Итак, очень грязный способ: просто решите, какой подшаблон будет включен в Smarty в зависимости от данного URL. Но, как я уже сказал, так делать нельзя! Хотя это способ ...

2. Переключение через подписчика на мероприятие:

Просто создайте плагин Shopware, слушайте событие Enlight_Controller_Action_PostDispatch_Frontend_Form. Затем проверьте все, что необходимо, чтобы решить, какое представление следует загрузить - может быть, текущий языковой стандарт Shops или что-то еще. Просто делать

$this->View()->loadTemplate('frontend/path/to/your/file.tpl'); 

и контроллер должен загрузить указанный вами шаблон.

С уважением

person barbieswimcrew    schedule 14.03.2016