<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                環境 基于《Yii2 之 frontend 子模塊實踐之一:添加前后臺子模塊》。 基于《Yii2 之 frontend 子模塊實踐之二:構建子模塊的獨立配置》。 ? 配置子模塊的布局 既然啟用了 子模塊,那么我們就希望每個 子模塊 的布局文件直接放到其根目錄之下,例如 [Sub Module Path]/views/layouts/,這樣就比較利于管理。 在 《Yii2 之 frontend 子模塊實踐之一:添加前后臺子模塊》 文章中,我們通過在 子模塊 根目錄下 Module.php 文件里的 init() 函數中添加 $this->layout = 'main'; 代碼來設置每個 子模塊 的獨立布局文件。 現在請先刪除兩個 子模塊 根目錄下 Module.php 文件里的 $this->layout = 'main'; 代碼,因為接下來我們將介紹更巧妙更方便的方法設置。 編輯兩個 子模塊 的 [Sub Module Path]/Config.php 文件,添加如下配置項: 'layout' => '@module/views/layouts/main' 別名 @module 的具體值請參見 《Yii2 之 frontend 子模塊實踐之二:構建子模塊的獨立配置》 說明:當 frontend 應用主體 實例化一個子模塊時,別名 @module 將被賦值為當前激活的 子模塊 根目錄路徑;當控制器渲染視圖時,自然就調用當前 子模塊 下的視圖文件。 ? 配置子模塊的語言 無論是不是簡單的企業網站,還是復雜平臺網站;無論是否只有一種語言,還是有多種語言;都建議大家使用語言文件包,也許它會給你的項目開發增加一點點時間,但是其后期帶來的可維護性還是非常不錯的。 在此之前,還是希望大家先看看官方的 Yii2 國際化 介紹。 1. 語言包目錄配置 同 布局 的架構方式一樣,我們也希望每個 子模塊 的語言包文件直接放到其根目錄之下,例如 [Sub Module Path]/languages/,這樣就比較利于管理,話不多說,直接編輯兩個 子模塊 的 [Sub Module Path]/Config.php 文件,添加如下配置項即可: 'components' => [ // ... 'i18n' => [ 'translations' => [ '*' => [ 'class' => 'yii\i18n\PhpMessageSource', 'basePath' => '@module/languages', ] ] ] // ... } 說明:當 frontend 應用主體 實例化一個子模塊時,別名 @module 將被賦值為當前激活的 子模塊 根目錄路徑;當控制器渲染視圖時,自然就調用當前 子模塊 下的視圖文件。 2. 默認語言配置 Yii2 默認的語言是 en-US,很多時候它并不符合我們的開發要求,所以我們就要把的默認語言設置為 zh-CN,編輯 /frontend/config/main.php,添加如下配置: 'language' => 'zh-CN' 除了上面直接將語言寫到配置文件外,還可以將語言寫到每個 子模塊 根目錄下 Module.php 文件里: Yii::$app->language = 'zh-CN'; 推薦使用第二種方法,將語言配置寫到 Module.php 里面,這樣就可以利用 Cookie、Get參數等多種方式動態的改變語言,更加靈活 以下就是我常用的語言動態配置代碼 // 設置默認語言 $language = Language::getRecord($_GET['l']); $languages = Language::getRecordsByFilter(array('module'=>'frontend-'.$this->id)); if( !empty($language) ) setcookie('language-frontend-'.$this->id, $language['language_id'], time()+3600*24, '/'); if( $_GET['ll'] ) $language = Language::getRecord($_GET['ll']); $language = empty($language) ? $_COOKIE['language-frontend-'.$this->id] : $language['language_id']; $language = $language ? Language::getRecord($language) : $languages[0]; Yii::$app->language = $language['code']; Yii::$app->params = array_merge(Yii::$app->params, array('language'=>$language,'languages'=>$languages)); 這里代碼僅僅拋磚引玉,模型 Language 的具體代碼也不貼了,大家看看思路即可,具體可以自己寫
                  <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>

                              哎呀哎呀视频在线观看