[英]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
写入AUTH
, STORAGE
或其他任何文件。 那他是怎么做到的? 再次修改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_Layout
由drew010只提到了改变布局的后缀,而不是意见。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.