首頁 > php框架 > YII > 主體

yii實作不載入layout佈局文件

王林
發布: 2019-12-24 14:00:53
原創
2529 人瀏覽過

yii實作不載入layout佈局文件

Yii框架預設渲染模板的時候會渲染佈局,新建立的專案也包含了3個預設的佈局:main.phpcolumn1 .phpcolumn2.php,並且預設建立了一個公共控制器Controller.php(在components目錄下),預設的SiteController.php是繼承的這個Controller.php,這個控制器指定了版面配置檔為column1.php

首先讓我們來看看渲染一個模板需要經過哪些步驟:

1、控制器中透過$this->render('index' )來開始渲染index.php檢視檔;

2、渲染index時,先將index.php中的php腳本解析完畢,然後將解析的結果儲存到$content變數裡;

3、系統檢查是否指定佈局文件,先找控制器的$this->layout屬性,如果這個值不為空的話,則再render()渲染這個佈局文件,將$content值作為佈局文件中的變量,也就是在佈局文件中使用<? php echo $content;?>即可輸出index.php裡解析好的內容,而這個layout在Controller中預設指定為了column1.php,在這個佈局裡,又嵌套了專案預設的佈局檔main.php。

4、如果控制器沒有指定layout屬性,則會去找項目配置中的layout屬性,也就是main.php中的layout屬性,而這個屬性不需要人工指定,預設就是views/layouts/main.php檔。透過render解析這個佈局文件,將index.php的內容當作$content變數穿進去。

也就是說,依照預設情況,我們渲染一個視圖需要渲染3個文件,分別是index.phpcolumn1.phpmain .php。 

對於不習慣佈局模式的人來說,這無疑增加了麻煩。

關閉方法:

不過關閉佈局模式很簡單,你可以將Controller中的layout屬性設為false即可。

範例如下:

SiteController extends Controller{
 public $layout=false; //重写这个属性就可以了
//其他方法
}
登入後複製

相關文章教學推薦:yii教學

以上是yii實作不載入layout佈局文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板