在yii2中,由於yii2版本升級導致了,很多yii2的用法跟yii1有著很大的區別,這幾天一直在view層的視圖界面徘徊著,遇到什麼問題呢? 問題就是搞不清楚我該如何去引進CSS,JS檔了!也看了社區中其它有經驗的大神的教程,也按著做了,但是還是有一些問題存在著,比如說yii2的項目打開後,頭部和尾部是公共的,該如何去掉?以及如何才能不改動原始main.php文件的情況下,去引入JS,CSS文件,也許有一種辦法就是寫一個xxxAsset.php的配置文件,然後通過xxx Asset::register($this)可以引入文件,但這下我又遇到問題了,碰到了這句程式碼無效,不起作用,在firebug打開後,head裡沒有引入任何的CSS,JS文件,樣式也變得亂七八糟,後來我又查了下相關資料,恰巧,下了一個其他人發的yii2後台模版,於是,今天早上我大概了看了下後台的樣式是怎麼佈局的,總結了下:
1、在前台view中最簡單不過的就是像之前那樣一個文件一個文件的引入,於是在頂部使用use調用代碼段
use yiihelpersHtml;
然後在下面的Html中可以這樣調用
<?=Html::jsFile('@web/***/js/***.js')?>//这里***代表你的目录名或者文件名 <?=Html::cssFile('@web/***/css/***.css')?>//***同上
這樣的話就不需要動其他文件,直接引入文件就好了,需要哪個引入哪個,當然這樣寫的話就是每次得寫很多行代碼去加載,最好還是寫到配置文件中,但是用配置文件來引入這個問題我暫時還沒弄通,後面如果找到原因我會分享給大家
2、前台這樣引入,那麼在controller中怎麼自訂樣式檔呢
在控制器中加上以下程式碼
public $layout = 'layout';//在類別中定義一個變量,名為$layout
注意的是這個layout在你的view中有目錄叫layouts,在這個目錄下,我新建了一個文件名為layout.php,在其中我加上一句代碼
這樣控制器就會自動去找當前視圖目錄下的layouts目錄下的加載視圖文件的php檔
以上的幾行簡短的程式碼就解決了新手不知道該如何去加載CSS ,JS檔案的問題,大家如果覺得寫***Asset.php檔案會有問題,就用我這種辦法,後期等熟悉了yii2之後在改用其他的辦法去加載
另外,我再補充下,在view中怎麼去跳轉連結到其他的視圖檔案
同樣在頂部先引入類別庫
use yiihelpersUrl;
然後再需要連結跳轉的地方這樣寫:
//post為你的目前控制器名,index為view模版
是不是特別簡單啊!