Java Swing と同様に、Yii フレームワークのレイアウトでも CContentDecorator を使用してネストできます。ただし、レイアウトを定義するときに、代わりに
$this->beginContent('path/to/view'); // ... content to be decorated $this->endContent();
を使用します。 。
この例では、それぞれ 1 つずつネストされた 4 つのレイアウトを定義します:
///main.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title><?php echo Yii::app()->name; ?></title> </head> <body> <h1>Widget Demo</h1> <?php echo $content; ?> </body> </html> ///row1.php <?php $this->beginContent('/layouts/row2'); ?> <center> <?php echo $content; ?> </center> <p /> <center> <?php echo 'row1 part'; ?> </center> <?php $this->endContent(); ?> //row2.php <?php $this->beginContent('/layouts/row3'); ?> <center> <?php echo $content; ?> </center> <p /> <center> <?php echo 'row2 part'; ?> </center> <?php $this->endContent(); ?> ///row3.php <?php $this->beginContent('/layouts/main'); ?> <center> <?php echo $content; ?> </center> <p /> <center> <?php echo 'row3 part'; ?> </center> <?php $this->endContent(); ?>
表示される結果は次のとおりです:
上記は Yii Framework チュートリアルの内容です (13) UI コンポーネント ContentDecorator のサンプル、お支払いくださいその他の関連コンテンツ PHP 中国語 Web サイト (www.php.cn) にも注目してください。