Yii中的layouts使用(header,footer的使用方式)

來源:互聯網
上載者:User
1. config/main.php裡增加layout欄位return array('defaultController'=>'index','layout' => 'main',2. layouts裡建立3個檔案, main.php, header,footermain.php檔案內容(index.php會做為$content輸出,render 設定哪個模板就顯示哪個)<?php $this->beginContent('//layouts/header'); ?> <?php $this->endContent(); ?> <?php echo $content;?> <br>main.php----
<?php $this->beginContent('//layouts/footer'); ?> <?php $this->endContent(); ?>header.php和footer.php分別輸出header.php---和<br>footer---3. views/index.php裡做簡單輸出<br><?php echo $post->m; ?>4. C 控制$post->m = 'index----';$this->render('index', array(      'post' => $post ));5最終執行結果header.php--- index---- main.php---- footer.php---!!!  如果控制器裡使用 renderPartial  !!!$this->renderPartial('index', array('post' => $post));則只輸出index----不調用layouts批註:render會渲染layout,而renderPartial不會渲染。 關於layouts傳參需要在控制器裡定義一個變數public $a = null;然後在Action裡賦值然後就可以在layout裡調用了以下是代碼
class IndexController extends CController{    public $a = null;    public function actionIndex()    {        $post->m = 'index----';        $this->a = 'hello a!';        $this->render('index', array(            'post' => $post,        ));

layouts.main.php裡調用方法
<?php echo $this->a; ?>
輸出結果:hello a!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.