前提:views文件夾下建立控制器名(小寫)對應的文件夾,而後將控制器中用到的模板文件建立在其中;模板文件的後綴是".php"。php
1.顯示模板文件:html
2.顯示模板文件並傳遞參數:數組
yii的變量分配都是以數組形式的$data變量分配到模板中的。安全
(1).分配字符串到模板:yii
分配:函數
顯示:佈局
(2):分配數組到模板:htm
分配:字符串
顯示:模板
(3).分配js到模板:
分配:
顯示:
因爲若是直接將js傳遞到頁面,js會被解析並被執行;這樣頁面就出現了安全性問題:
咱們能夠在顯示的時候作處理(1.引入對應的命名空間;2.函數對分配的變量做處理)
方法一:將js作轉義處理,轉換成字符串,只顯示,不執行:
方法二:直接將js作過濾處理:
3.佈局文件:
使用佈局文件能夠避免重寫相同的html代碼;通用的模板文件放在/views/layouts文件中,顯示的使用rander方法(配合$layout屬性):
分配:
顯示:在父級模板中獲取子級模板的東西
注:render():將render方法中指定的視圖文件放到變量content中,並顯示顯示$layout變量指定的視圖文件;在$layout指定的模板中調用$content,便可顯示子級模板內容。
4.在一個模板文件中顯示另一個模板的內容:
如:在index.php模板中顯示anthor.php模板(index.php和anthor.php處於同一級);分爲兩個步驟:先顯示index.php模板,而後在index.php模板中顯示anthor.php模板:
步驟一.顯示index.php(renderPartial或者render或者方法均可以):
步驟二:在index.php模板中顯示anthor.php模板:
若是此時還要在index.php中傳遞參數到anthor.php:
index.php中傳遞:
anthor.php中接受:
5.數據塊:在子模板中定義一個數據塊,覆蓋掉父模板中的某些模塊;
方法是:在子模板中定義數據標籤,而後在父模板中調用。
子模板中定義數據塊:
父模板中調用:
若是調用的時候還要判斷數據塊是否有被定義: