2

簡単な質問があります...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はどのコントローラーにも含まれていないので、私は推測します。

それを行う良い方法はありますか?

4

2 に答える 2

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');
于 2012-04-27T00:07:59.210 に答える
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)。

スクリプト パスを表示するを参照してください。

于 2012-04-27T01:45:50.277 に答える