Yii2創(chuàng)建多界面主題(Theme)的方法
本文實(shí)例講述了Yii2創(chuàng)建多界面主題(Theme)的方法。分享給大家供大家參考,具體如下:
Yii2界面主題上的設(shè)計(jì)總體上和Yii1.x保持一致,區(qū)別在于兩個(gè)地方:
1. 由于Yii2引入了獨(dú)立的視圖(View)類,因此界面主題(Theme)也交由視圖來(lái)管理;
2. 視圖文件和Web資源在目錄上做了分離(在應(yīng)用程序模板中,分別對(duì)應(yīng)于views和web目錄)
以高級(jí)應(yīng)用程序模板為例,
首先在frontend/views和frontend/web目錄下分別創(chuàng)建一個(gè)themes/{your theme name}目錄,比如themes/basic。
然后在應(yīng)用程序配置中,修改配置如下:
'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下面創(chuàng)建頁(yè)面(如site.php),在web/themes/basic下面創(chuàng)建資源(如css/site.css)。
這樣,你就可以使用這個(gè)新建的界面主題了,在渲染視圖時(shí),Yii2會(huì)首先查找你定義的theme目錄,然后查找默認(rèn)目錄。
要?jiǎng)?chuàng)建多界面主題,只需要按相同步驟在themes目錄下添加新的theme,比如themes/advanced。
如果要在視圖文件中顯式引用某個(gè)界面主題下的資源,可以使用 $this->theme->baseUrl ...
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
- Yii2創(chuàng)建表單(ActiveForm)方法詳解
- Yii2創(chuàng)建控制器(createController)方法詳解
- yii2.0實(shí)現(xiàn)創(chuàng)建簡(jiǎn)單widgets示例
- Yii2中組件的注冊(cè)與創(chuàng)建方法
- Yii2.0建立公共方法簡(jiǎn)單示例
- Yii2.0 RESTful API 基礎(chǔ)配置教程詳解
- PHP中使用mpdf 導(dǎo)出PDF文件的實(shí)現(xiàn)方法
- PHP MPDF中文亂碼的解決方式
- PHP使用MPDF類生成PDF的方法
- Yii2框架實(shí)現(xiàn)利用mpdf創(chuàng)建pdf文件功能示例
相關(guān)文章
php redis setnx分布式鎖簡(jiǎn)單原理解析
這篇文章主要介紹了php redis setnx分布式鎖簡(jiǎn)單原理解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-10-10
學(xué)習(xí)PHP Cookie處理函數(shù)
這篇文章主要為大家詳細(xì)介紹了PHP Cookie處理函數(shù)的使用方法,感興趣的小伙伴們可以參考一下2016-08-08
thinkPHP3.2.2框架行為擴(kuò)展及demo示例
這篇文章主要介紹了thinkPHP3.2.2框架行為擴(kuò)展,結(jié)合實(shí)例形式分析了thinkPHP3.2.2框架行為擴(kuò)展原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-06-06
2個(gè)Codeigniter文件批量上傳控制器寫法例子
這篇文章主要介紹了2個(gè)Codeigniter文件批量上傳控制器寫法例子,需要的朋友可以參考下2014-07-07
Laravel 已登陸用戶再次查看登陸頁(yè)面的自動(dòng)跳轉(zhuǎn)設(shè)置方法
今天小編就為大家分享一篇Laravel 已登陸用戶再次查看登陸頁(yè)面的自動(dòng)跳轉(zhuǎn)設(shè)置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-09-09
Windows Apache2.2.11及Php5.2.9-1的安裝與配置方法
很早就想在自己的機(jī)子上搭建PHP的開發(fā)環(huán)境,今天難得有這個(gè)機(jī)會(huì),在網(wǎng)上找了一些教程和程序,實(shí)踐了一把,過程是很艱辛的,因?yàn)橛龅搅撕芏嗟膯栴},在這里總結(jié)一下。2009-06-06
PHP?WindSearch實(shí)現(xiàn)站內(nèi)搜索功能
WindSearch是一個(gè)基于中文分詞,由純PHP開發(fā)全文檢索引擎,可快速搭建PHP站點(diǎn)的站內(nèi)搜索,下面我們就來(lái)看看如何使用WindSearch實(shí)現(xiàn)站內(nèi)搜索功能吧2025-02-02

