這篇文章主要講解了“Yii2創建多界面主題的方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Yii2創建多界面主題的方法”吧!
Yii2界面主題上的設計總體上和Yii1.x保持一致,區別在于兩個地方:
1. 由于Yii2引入了獨立的視圖(View)類,因此界面主題(Theme)也交由視圖來管理;
2. 視圖文件和Web資源在目錄上做了分離(在應用程序模板中,分別對應于views和web目錄)
以高級應用程序模板為例,
首先在frontend/views和frontend/web目錄下分別創建一個themes/{your theme name}目錄,比如themes/basic。
然后在應用程序配置中,修改配置如下:
'view' => [ 'theme' => [ 'pathMap' => ['@frontend/views' => '@frontend/themes/basic/views'], 'baseUrl' => '@web/themes/basic', ], ],
修改AppAssets的$baseUrl變量為:
class AppAsset extends AssetBundle { public $basePath = '@webroot'; public $baseUrl = '@web/themes/basic'; ... }
最后在views/themes/basic下面創建頁面(如site.php),在web/themes/basic下面創建資源(如css/site.css)。
這樣,你就可以使用這個新建的界面主題了,在渲染視圖時,Yii2會首先查找你定義的theme目錄,然后查找默認目錄。
要創建多界面主題,只需要按相同步驟在themes目錄下添加新的theme,比如themes/advanced。
如果要在視圖文件中顯式引用某個界面主題下的資源,可以使用 $this->theme->baseUrl ...
感謝各位的閱讀,以上就是“Yii2創建多界面主題的方法”的內容了,經過本文的學習后,相信大家對Yii2創建多界面主題的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。