如何捕捉default.phtml在控制器内的变量(How capture the default.

2019-09-16 19:02发布

我有一个简单的问题...我怎么可能使这是在项目/应用/布局/脚本/ default.phtml给一个变量default.phtml的内容,所以我可以有它的HTML。

在指数控制器,与动作和名为test的文件PHTML,这会工作:

$html = $this->view->render('index/test.phtml');

但是,当然,这并不:

$htmlDefaultLayout = $this->view->render('default.phtml');

由于default.phtml没有任何控制器内,我猜。

有没有办法做到这一点的好办法?

Answer 1:

您可以添加到该路径Zend_View看起来对意见,所以你可以再渲染default.phtml文件。

例:

// add the layout directory to the path
$this->view->addScriptPath(APPLICATION_PATH . '/layouts/scripts/');

$htmlDefaultLayout = $this->view->render('default.phtml');

加入到在SCRIPTPATH Zend_View的最后的路径是要检查的第一(LIFO)。

见视图脚本路径 。



Answer 2:

您可以停止渲染并抓住这样的输出:

$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');


文章来源: How capture the default.phtml in a variable inside a controller