我正在使用Zend2中的可重用模块,我遇到了一个与代码复制有关的小问题。
我有一个用户模块,它有一个HTML模板寄存器(模板路径: User /user/寄存器)。它包含一些基本的HTML,但是在我的一个项目中,我需要将这个模板嵌入到CSS样式化的< div >中( HTML页面的其余部分不会改变)。
在用户模块之后,我加载了我的应用程序模块,可以覆盖用户/用户/寄存器模板并放入新代码,但是我无法通过它呈现原始用户/用户/寄存器模板。
应用程序模块->用户/用户/寄存器中的代码示例:
<div><?=$this->render('user/user/register')?></div>这会导致一个没完没了的循环,我不想在用户模块中复制/粘贴用户/用户/注册模板中的所有HTML。
有人能帮我吗?
谢谢!
发布于 2013-11-21 07:05:08
你想要达到的目标是行不通的。不能有两个名称相同的模板。加载键的模块将始终具有优先级。
你必须明白模板只是一个大数组中的一个键。
'view_manager' => array(
'template_map' => array(
'layout/layout' => 'my\layout.phtml'
)
)因此,如果您有两个模块提供此配置,则不会改变两个模块都使用键layout/layout的事实。因此,不管模块稍后加载什么,都会获胜。
TL/DR您只能覆盖模板,而不能扩展它们。在您的情况下,您必须创建一个单独的模板。
https://stackoverflow.com/questions/20113073
复制相似问题