60

シンプルなワンライナーだと思いますが、見つからないようです。

特定のアクションに別のレイアウトファイルを使用するにはどうすればよいですか?

更新:これは私のために働いた、ありがとう!

// Within controller
$this->_helper->_layout->setLayout('other-layout') //other-layout.phtml

//Within view script
<?php $this->layout()->setLayout('other-layout'); ?>
4

2 に答える 2

62

コントローラの内部から:

$this->_helper->layout->setLayout('/path/to/your/layout_script');

(これらのドキュメントを介して)

編集:パスはレイアウトディレクトリが何であれ相対的であることに言及する必要があります(デフォルトでは、それはapplication/layouts/scripts/

于 2009-10-23T21:26:05.390 に答える
13

こんな使い方もできます

// Within controller
Zend_Layout::getMvcInstance()->setLayout('layout_name');

//Within view script

<?php $this->layout()->setLayout('layout_name'); ?>

レイアウトは /layouts/scripts/ フォルダーにある必要があります。それ以外の場合は、パスも指定する必要があります。.phtml を記述する必要はありません。レイアウトの名前だけです。

于 2011-09-26T12:09:18.400 に答える