我需要使用一个不同的设计模板,我的Shopware5联系我们页面。
目前,这个表单是从“form”控制器加载的,并且如果我可以在“前端/表单/”目录下创建一个自定义模板,那么视图就是“前端/表单/index.tpl”,我可以解决这个问题。
我的问题是,当url或某些id是“contact-US2”或其他东西时,如何告诉我的控制器使用新的模板。
发布于 2016-03-14 20:37:44
这样做有两种不同的方式。
1.在视图中切换:
您将能够在视图中获得Url段。因此,一种非常肮脏的方式:根据给定的Url,决定Smarty中将包含哪个子模板。但正如我已经说过的,这不是你应该做的!尽管这是一种..。
2.通过事件订阅服务器交换:
只需创建一个Shopware插件,听Enlight_Controller_Action_PostDispatch_Frontend_Form事件。然后检查所需的内容,以决定应该加载哪个视图--可能是当前的商店、地区或其他什么。就这么做
$this->View()->loadTemplate('frontend/path/to/your/file.tpl'); 控制器应该加载您指定的模板。
亲切的问候
https://stackoverflow.com/questions/35603238
复制相似问题