首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >zend 2视图呈现模板与来自不同模块的同名

问zend 2视图呈现模板与来自不同模块的同名
EN

Stack Overflow用户
提问于 2013-11-21 05:18:32
回答 1查看 342关注 0票数 1

我正在使用Zend2中的可重用模块,我遇到了一个与代码复制有关的小问题。

我有一个用户模块,它有一个HTML模板寄存器(模板路径: User /user/寄存器)。它包含一些基本的HTML,但是在我的一个项目中,我需要将这个模板嵌入到CSS样式化的< div >中( HTML页面的其余部分不会改变)。

在用户模块之后,我加载了我的应用程序模块,可以覆盖用户/用户/寄存器模板并放入新代码,但是我无法通过它呈现原始用户/用户/寄存器模板。

应用程序模块->用户/用户/寄存器中的代码示例:

代码语言:javascript
复制
<div><?=$this->render('user/user/register')?></div>

这会导致一个没完没了的循环,我不想在用户模块中复制/粘贴用户/用户/注册模板中的所有HTML。

有人能帮我吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-21 07:05:08

你想要达到的目标是行不通的。不能有两个名称相同的模板。加载键的模块将始终具有优先级。

你必须明白模板只是一个大数组中的一个键。

代码语言:javascript
复制
'view_manager' => array(
    'template_map' => array(
        'layout/layout' => 'my\layout.phtml'
    )
)

因此,如果您有两个模块提供此配置,则不会改变两个模块都使用键layout/layout的事实。因此,不管模块稍后加载什么,都会获胜。

TL/DR您只能覆盖模板,而不能扩展它们。在您的情况下,您必须创建一个单独的模板。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20113073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档