<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 主題 主題是一種將當前的一套視圖?[views](http://www.yiichina.com/doc/guide/2.0/structure-views)?替換為另一套視圖,而無需更改視圖渲染代碼的方法。 你可以使用主題來系統地更改應用的外觀和體驗。 要使用主題,你得配置?`view`?應用組件的 yii\base\View::theme 屬性。 這個屬性配置了一個 yii\base\Theme 對象,這個對象用來控制視圖文件怎樣被替換。 你主要應該指明下面的 yii\base\Theme 屬性: * yii\base\Theme::basePath:指定包含主題資源(CSS, JS, images, 等等)的基準目錄。 * yii\base\Theme::baseUrl:指定主題資源的基準URL。 * yii\base\Theme::pathMap:指定視圖文件的替換規則。更多細節將在下面介紹。 例如,如果你在?`SiteController`?里面調用?`$this->render('about')`,那你將渲染視圖文件?`@app/views/site/about.php`。 然而,如果你在下面的應用配置中開啟了主題功能,那么`@app/themes/basic/site/about.php`?文件將會被渲染。 ~~~ return [ 'components' => [ 'view' => [ 'theme' => [ 'basePath' => '@app/themes/basic', 'baseUrl' => '@web/themes/basic', 'pathMap' => [ '@app/views' => '@app/themes/basic', ], ], ], ], ]; ~~~ > 信息:主題支持路徑別名。當我們在做視圖替換的時候, 路徑別名將被轉換成實際的文件路徑或者URL。 你可以通過 yii\base\View::theme 屬性訪問 yii\base\Theme 對象。例如,在一個視圖文件里,你可以寫下面的代碼, 因為?`$this`?指向視圖對象: ~~~ $theme = $this->theme; // returns: $theme->baseUrl . '/img/logo.gif' $url = $theme->getUrl('img/logo.gif'); // returns: $theme->basePath . '/img/logo.gif' $file = $theme->getPath('img/logo.gif'); ~~~ yii\base\Theme::pathMap 屬性控制如何替換視圖文件。它是一個鍵值對數組,其中, 鍵是原本的視圖路徑,而值是相應的主題視圖路徑。 替換是基于部分匹配的:如果視圖路徑以 yii\base\Theme::pathMap 數組的 任何一個鍵為起始,那么匹配部分將被相應的值所替換。 使用上面配置的例子,因為?`@app/views/site/about.php`?中的起始部分與鍵?`@app/views`?匹配, 它將被替換成`@app/themes/basic/site/about.php`。 ## 主題化模塊 要主題化模塊,yii\base\Theme::pathMap 可以配置成下面這樣: ~~~ 'pathMap' => [ '@app/views' => '@app/themes/basic', '@app/modules' => '@app/themes/basic/modules', // <-- !!! ], ~~~ 它允許你將?`@app/modules/blog/views/comment/index.php`?主題化成`@app/themes/basic/modules/blog/views/comment/index.php`。 ## 主題化小部件 要主題化小部件,你可以像下面這樣配置 yii\base\Theme::pathMap: ~~~ 'pathMap' => [ '@app/views' => '@app/themes/basic', '@app/widgets' => '@app/themes/basic/widgets', // <-- !!! ], ~~~ 這將允許你將?`@app/widgets/currency/views/index.php`?主題化成?`@app/themes/basic/widgets/currency/index.php`。 ## 主題繼承 有的時候,你可能想要定義一個基本的主題,其中包含一個基本的應用外觀和體驗,然后根據當前的節日,你可能想要稍微地改變一下外觀和體驗。 這個時候,你就可以使用主題繼承實現這一目標,主題繼承是通過一個單視圖路徑去映射多個目標, 例如, ~~~ 'pathMap' => [ '@app/views' => [ '@app/themes/christmas', '@app/themes/basic', ], ] ~~~ 在這種情況下,視圖?`@app/views/site/index.php`?將被主題化成?`@app/themes/christmas/site/index.php`?或者`@app/themes/basic/site/index.php`, 這取決于哪個主題文件存在。假如都存在,那么第一個將被優先使用。在現實情況中, 你會將大部分的主題文件放在?`@app/themes/basic`?里,而一些自定義的放在?`@app/themes/christmas`里。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看