1

Bootstrap 3.0 css (メイン レイアウトとして使用) を使用するバックエンドで管理テーマを使用しています。ブートストラップ 2 css ファイル (グリッドおよび他のウィジェット用) を使用する yiistrap 拡張機能がインストールされていますが、両方を同時に使用すると、すべてが壊れます (通常はテーマ)。明らかに、両方のバージョンが使用されているためです。 1 つは別の CSS をオーバーライドします。

両方のcssを区別する方法があるかどうか、または次々にレンダリングする方法があるかどうかを知る必要がありますか? または、yiistrap ファイルを使用して独自のテンプレート/テーマを作成する必要がありますか?

例を挙げましょう。main.php (レイアウト) にテーマ レイアウトがあり、このファイルにすべてのテーマ ファイルが追加されています。次に、Yiistrap の GridView を含むユーザー/管理者ビューをレンダリングします。私の問題です。すべてを正しくレンダリングするには、両方の CSS ファイルが必要です。Hance が私の問題です。両方のファイルを同時に追加したいのですが、互いに競合しないようにします。YII はこれに対する解決策を提供しますか? これは、ブートストラップだけでなく、私が使用するすべてのテーマで発生する可能性があるためです。

4

2 に答える 2

1

Yiitrap には、レンダリングされた html にすべての CSS および JS ファイルをロードする register と呼ばれるメソッドがあります。私の知る限り、これはアプリケーションのライフサイクルのある時点で手動でトリガーする必要があり、通常はYii::app()->bootstrap->register(). その呼び出しを削除して、代わりに Bootstrap 3 ローダーへの呼び出しに置き換えれば問題ありません。

編集

私の答えを少し明確にさせてください。Yii::app()->bootstrap->register()現時点では、Bootstrap 3 ファイルを含め、アプリケーションのどこかで呼び出していると想定しています。お気づきのように、これにより競合が発生します。 Yii::app()->bootstrap->register()Yiitrap に直接必要な CSS および JS ファイルのみが含まれます。したがって、この呼び出しを完全に削除するか、条件付きで Bootstrap 3 のインクルードに置き換えると、問題が解決するはずです。

于 2013-10-26T13:39:51.810 に答える
0

ブートストラップのアセットフォルダーの名前を変更し、パスを管理で新しいフォルダー名として定義し、管理テーマを正しく配置できます。すなわち

theme/[your_theme_name]/views/layouts [ここにメイン テーマ ファイルを配置し、ブートストラップのアセット ファイルの head タグに yiistrap コードを記述します]

theme/[your_theme_name]/views/admin [ここに管理テーマ ファイルを配置します]

ファイルを正しく配置し、<head></head>メイン テーマ ファイルのセクションでアセット ファイルのパスを正しく割り当てれば、問題は発生しないと思います。

于 2013-10-26T07:17:02.173 に答える