我正在使用ZF制作客户门户应用程序。 门户需要为不同的公司品牌服务。 因此,我需要使用所有相同的后端代码/ controllers / etc,但要根据主机名动态更改视图目录。

现在,我的视图目录结构如下所示:

/application/views/scripts/brand1/
/application/views/scripts/brand1/index/index.phtml
/application/views/scripts/brand1/error/error.phtml
/application/views/scripts/brand2/
/application/views/scripts/brand2/index/index.phtml
/application/views/scripts/brand2/error/error.phtml
/application/views/scripts/brand3/
/application/views/scripts/brand3/index/index.phtml
/application/views/scripts/brand3/error/error.phtml
and so on.

我像这样在bootstrap.php中使用addScriptPath()函数

protected function _initView()
{
    $view = new Zend_View();
    $view->doctype('XHTML1_STRICT');
    $view->env = APPLICATION_ENV;
    $view->addScriptPath(APPLICATION_PATH . '/views/scripts/brand1');
    $view->addHelperPath(APPLICATION_PATH . '/views/helpers');

    ...
}

但是,运行此命令时,它将使用/views/scripts/brand1/(action).phtml查找所有视图,而不是使用正确的方案/view/scripts/brand1/(controller)/(action).phtml查找视图。

tl; dr是否可以动态选择视图目录并使其像默认的/views/scripts/(controller)/(action).phtml行为一样工作?

#1楼 票数:1 已采纳

我知道我在这里发布后会找到答案。 万一其他人遇到相同的问题,解决方案将使用:

$view->setBasePath(APPLICATION_PATH . '/views/brand1');

然后将目录结构修改为:

/application/views/brand1/scripts/...

  ask by Mark translate from so

未解决问题?本站智能推荐:

3回复

覆盖zend视图目录?

在我的引导程序中,我检测到用户所在的网站,然后发布布局更改和帮助程序更改。 如果/ public / site /中没有每个站点的版本,则默认情况下,基本上所有默认情况下都会存在该站点 但是,我无法获得实际的视图来依赖给定路径或/ public / site中的路径。 到目前为止,这是
1回复

设置其他操作的视图参数

因此,我在我的zend框架应用程序中尝试将视图成功var设置为true以便显示成功消息。 所以在我的choicetags.phtml中,我得到了这个 因此,用户选择在用户按下提交数据时对/ rondas / saveronda进行ajax调用,在此操作中,我会将数据保存在数据库中,一旦成功
1回复

Zend动态设置布局

我是Php和Zend的新手。 我有一个动态设置布局的问题。 我有一个控制器和一个控制视图的动作。 该视图有两个选项卡,分别称为“ tabA”和“ tabB”。 我想通过使用更改布局 当我切换到“ tabA”但在切换到“ tabB”时保留默认布局。 我怎样才能做到这一点?
5回复

如何添加视图助手目录(zend框架)

我从ZF(1.9.7)开始,我想从我所有项目之间共享的库中使用View Helpers。 但我找不到如何将其目录添加到帮助程序路径。 当我把它们放在应用程序的助手路径中时,我的牧师会罚款。 这是错误,我找到了ZF助手的路径,以及应用程序的路径。 最好的祝福 塞德里克
1回复

Zend视图脚本路径设置

这是我的代码: 此代码在Core_PageController视图操作中处理。 我的问题是现在view对象在$templatePath/page查找我的脚本文件,因为page是控制器。 我想要的是视图对象只查看$templatePath目录路径(没有页面目录); 谢谢您的帮助!
2回复

如何设置ZendFramework在子目录上运行?

我想将Zend Framework设置为在子目录上运行。 可能吗?
2回复

如何使用Zend动态覆盖表单和/或视图?

我正在使用Zend开发一个Web应用程序,我们希望它附带一些默认的表单和视图。 我们希望客户端能够创建自定义表单和/或视图,这些视图和/或视图可以放置在可以覆盖默认表单的另一个目录中。 在IE中,Zend会检查是否存在任何自定义窗体(或视图),如果存在,则加载这些自定义窗体,否则加载默认窗体
2回复

无法使主题在目录视图上工作

我有一个主题,我正在尝试在可以在本地副本上正常运行的远程服务器上工作。 这是针对magento 1.4.1.1。 在工作的本地副本中,“基本”包中有“ theme144”,有3个商店视图; 。 在管理员中,有3个设计更改(系统>设计),每个商店视图一个。 这些是我在管理员中看到的