首頁 >php教程 >PHP开发 >Yii2創造多介面主題(Theme)的方法

Yii2創造多介面主題(Theme)的方法

高洛峰
高洛峰原創
2016-12-20 16:26:021324瀏覽

本文實例講述了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中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn