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