1. 程式人生 > >Yii - 佈局檔案的動態切換

Yii - 佈局檔案的動態切換

如果你看了底層Controller的原始碼和Module(模組)的原始碼,那麼你就能很熟練的婉轉佈局切換了。

1、在控制器中切換當前佈局和在方法中動態切換佈局

<?php
namespace app\modules\TestModule\controllers;

use Yii;
use yii\web\Controller;

class IndexController extends Controller
{
    //在屬性中宣告
    public $layout = "custom1";

    public function actionIndex()
{
//在方法中動態切換佈局 $this->layout = "custom2"; $this->render('index',array( 'name' => '譚勇', 'age' => 22 )); } } ?>

在類屬性中宣告layout 會覆蓋父類Controller 類中的layout 達到切換佈局的目錄。

甚至我們可以在模組檔案中宣告佈局

namespace app\modules\TestModule;

use
yii\base\Module; class TestModule extends Module { //當前應用主題 private $theme = 'default'; public function init() { //控制器檔案存放目錄 $this->controllerNamespace = 'app\modules\TestModule\controllers'; $dirname = dirname(__FILE__); //檢視目錄 (包含主題目錄) $this
->setViewPath($dirname . '/views/' . $this->theme . '/'); //生命佈局名稱 $this->layout = "common"; } }

然後我們就在default主題下的layouts目錄中去尋找common.php佈局了。