3

各テナントに特定の要素の色を制御させたいマルチ テナント アプリに取り組んでいます。たとえば、サイトの背景色やナビゲーション バーの色などの項目をユーザーが制御できるカラー ピッカーを備えたフォームを作成します。

デフォルトの配色を設定するベースライン SASS(.scss) ファイルがあります。私の質問は次のとおりです。

  1. 「動的」テーマの .scss ファイルをロードするにはどうすればよいですか?
  2. Tenant.nav_bar_link_color のようなモデル フィールドがある場合、それらの値を SASS テーマ ファイルにどのようにロードしますか?
  3. テナント固有のテーマを何らかの形でアセット パイプラインにプリコンパイルできますか?
4

2 に答える 2

0

いくつかの調査の後、ここでの方法の概要が最も理にかなっていると思います。

ユーザー生成のカスタム CSS

基本的に、テナントが制御する CSS 値を DB に保存し、デフォルトの SASS ファイルに対するオーバーライドとしてヘッドにレンダリングします....

于 2012-08-09T18:29:04.777 に答える
0

メイン アプリケーションの body 要素にクラスを追加できます。これは次のようになる可能性があります

<body class="">

次に、テーマの選択に基づいて、この body 要素に「scheme-red」や「scheme-blue」などのクラスをプログラムで追加します。

SASS では、デフォルトを上書きするさまざまな配色を使用できます。

于 2012-08-07T12:15:27.113 に答える