Используйте другой шаблон для моей формы обратной связи в 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');
и контроллер должен загрузить указанный вами шаблон.
С уважением