本文實例講述了Yii2創建多介面主題(Theme)的方法。分享給大家供大家參考,具體如下:
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'; ... }
),在web/themes/basic下面創建資源(如css/site.css)。
這樣,你就可以使用這個新建的介面主題了,在渲染視圖時,Yii2會先找你定義的theme目錄,然後再找一個預設目錄。
要建立多介面主題,只需要依照相同步驟在themes目錄下新增的theme,例如themes/advanced。
如果要在視圖檔案中明確引用某個介面主題下的資源,可以使用$this->theme->baseUrl ...
希望本文所述對大家基於Yii框架的PHP程式設計有所幫助。
更多Yii2創建多介面主題(Theme)的方法相關文章請關注PHP中文網!