1

真的不确定问题的标题是否适合整个问题。但是这里。

我目前拥有的是一个现有的 SaaS 项目。我们希望随着时间的推移推出一个新模板。想想谷歌是如何引入新功能的。或者其他一些网站可能会带有“试试我们的新测试版”.. 类型的东西。好吧,我们也想做同样的事情,然后我们最终会逐步淘汰旧的外观和感觉。

这样,这个应用程序就构建在 Zend Framework 之上,因此通过查看文档,我可以弄清楚如何覆盖给定控制器上的模板。但我想做的基本上是利用这些会话。如果存在,请使用此模板。如果没有,请使用旧的。

是否可以以这种方式覆盖默认模板?例如,现在默认加载的文件是“tops.phtml”,如果会话存在我想加载“tops_v2.phtml”。因此,当找到会话时,它可以将其用作模板而不是“tops.phtml”。

4

2 回答 2

1

Zend Framework 1.x 解决方案:

您可以在操作中禁用ViewRenderer插件,并手动选择模板:

public function indexAction(){
      $this->_helper->viewRenderer->setNoRender(true);
      echo $this->view->render("path/to/template/template.phtml");        
}
于 2013-09-25T16:35:03.083 回答
0

我认为布局是您可能想要使用的东西,正如 Richie 简要提到的那样。基于这个问题,我猜你还没有使用它们。最终,您可以设计一个定义整体网站外观的布局,然后您的每个操作模板只会呈现页面的片段(将动态放置在布局的内容部分中)。

使用您选择的任何逻辑,您可以分配任意数量的布局之一以用于给定的页面加载,当然您可以将其存储为用户偏好或其他内容。

于 2013-09-25T16:43:08.030 回答