我有一个简单的问题......我怎样才能将project / application / layouts / scripts / default.phtml中的default.phtml的内容呈现给变量,所以我可以使用它的html。
在索引控制器中,使用一个名为test的动作和一个phtml文件,这将起作用:
$html = $this->view->render('index/test.phtml');
但是,当然,这不是:
$htmlDefaultLayout = $this->view->render('default.phtml');
由于default.phtml不在任何控制器内,我猜。
有没有好方法呢?
答案 0 :(得分:3)
您可以停止渲染并抓取输出:
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$this->view->addScriptPath(APPLICATION_PATH . '/layouts/scripts/'); //default layout path
$htmlDefaultLayout = $this->view->render('default.phtml');
答案 1 :(得分:2)
您可以添加Zend_View
查看视图的路径,以便您可以呈现default.phtml文件。
示例:
// add the layout directory to the path
$this->view->addScriptPath(APPLICATION_PATH . '/layouts/scripts/');
$htmlDefaultLayout = $this->view->render('default.phtml');
在Zend_View中添加到scriptPath的最后一个路径是第一个被检查的路径(LIFO)。