YII 2マルチトピック

1734 ワード

  • トピックデフォルトグローバルトピック追加プロファイルにコメント構成を追加
  •  'view' => [
                'theme' => [
                    'basePath' => '@app/themes/{themesName}',
                    'baseUrl' => '@web',
                    'pathMap' => [
                        '@app/views' => '@app/themes/{themesName}',
                    ],
                ],
      ]
    
  • マルチモジュール定義トピック
  • 複数の異なるモジュールがある場合は、異なるモジュールに異なるテンプレートを設定し、モジュールのエントリファイルに追加します.
            \Yii::$app->view->theme = new \yii\base\Theme([
                'pathMap' => ['@app/views' => '@app/admin/views'],
                'baseUrl' => '@web',
            ]);
    
  • ファイルメカニズムYII 2のトピックlayoutファイルメカニズムです.@app/viewsが再定義されている場合は、このディレクトリの下でlayoutフォルダ内のレイアウトファイルを検索し、ない場合はデフォルトファイルで検索します.他のページのviewファイルもそうです.
  • 私と同じようにthemesファイルをappルートディレクトリに配置し、ウェブサイトのディレクトリが@app/webである場合は、トピックの静的ファイルを少し変更する必要があります.YII 2では,webがアクセスできるディレクトリは@webディレクトリに限られている.以上の場合、トピックの静的ファイルをAssetsでパブリッシュする必要があります.

  • たとえば、トピックのパス@app/themes/tfvioletは、そのディレクトリの下にThemeAssetファイルを作成します(このディレクトリの下に他のディレクトリ内でも構いません).
    namespace app\themes\tfviolet;
    
    use yii\web\AssetBundle;
    
    class ThemeAsset extends AssetBundle
    {
        public $sourcePath = '@app/themes/tfviolet/static';
        public $css = [
    
            'css/materialize.min.css',
            'css/style.css'
        ];
    
        public $js = [
            'js/materialize.min.js'
        ];
    }
    

    sourcePathのすべてのファイルをassetディレクトリにパブリッシュするには、sourcePathを定義する必要があります.パブリッシュされたディレクトリは@basthPath/assetがsourcePathを定義した後、このAssetsのbaseUrlであり、basePathは無効であり、AssetManagementによって上書きされます.