繁体   English   中英

Zend Framework使用html文件作为视图脚本而不是phtml

[英]Zend Framework is using html files as view script instead of phtml

我们有一个开发人员代码,他在php中做到了。 当我们研究代码时,我们注意到所有视图都将html作为扩展而不是phtml 我们通过将文件重命名为phtml来检查,并且它给出了错误。 令人惊奇的是,他们没有在应用程序中完成此操作,他们已经在Zend Level完成了这项工作。

如果我用新的下载替换库目录中的zend框架,应用程序将停止工作。 说没有找到视图

有谁知道他们是如何做到的(修改ZF来搜索html而不是phtml文件)?

还有一件事:到处都是,他使用变量$this->baseURL (不是zF提供的$this->baseURL $this->baseUrl() )来保存基本URL。 它不是一个帮手,我检查过,似乎无法在代码中的任何地方找到声明,但仍然神奇地通过所有控制器和视图可用。 他们是如何实施的? 我搜索了所有文件,但没有定义baseURL或者选择baseURL写入AUTHSTORAGE或其他任何文件。 那他是怎么做到的? 再次修改zf?

他们可能已经更改了Zend Layout类文件Zend/Layout.php

你可以查看protected $_viewSuffix = 'html'; 而不是默认的phtml。

您可以通过在引导程序中添加以下内容来解决此问题,以便升级Zend Framework文件。

protected function _initViewSuffix()
{
    Zend_Layout::getMvcInstance()->setViewSuffix('html');
}

对于$ baseURL变量,可以通过插件或动作助手设置。

如果你得到了视图对象,你可以做一些像$view->baseURL = 'xxx'; 使其可用。 这可以通过插件或动作助手完成。

希望有所帮助。

看一下你应该找到的Zend/Controller/Action/Helper/ViewRenderer.php

protected $_viewSuffix = 'html'

更改视图后缀的更好方法是将其添加到application/Bootstrap.php

/**
 * Set default view suffix to .html (see http://framework.zend.com/issues/browse/ZF-5301)
 */
protected function _initViewSuffix()
{
    Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->setViewSuffix('html');
}

或者您可以在所有控制器中通过此init方法更改它

public function init()
{
    $this->_helper->viewRenderer->setViewSuffix('html');
}

Zend_Layoutdrew010只提到了改变布局的后缀,而不是意见。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM