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

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

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

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

1 ответ

Есть два разных способа сделать это.

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

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

2. Переключиться через подписчика событий:

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

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

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

С уважением

Другие вопросы по тегам