0

Symfony2には、多くのクライアントが使用する単一のWebインターフェイスがあります。各クライアントは、異なるURLでサイトにアクセスします。例えば:

  • クライアントAはclientA.our-domain.comから入力します
  • クライアントBはclientB.our-domain.comから入力します
  • クライアントCは、clientC.comから参加することもできます。つまり、私たちのサブドメインの代わりに、独自に選択したドメインを使用します。

ただし、使用するURLに関係なく、最終的には同じマシンである当社のWebサイトになります。

現在、どのクライアントに関係なく、すべてに同じCSSを使用しています。クライアント固有の配色で各クライアントのスタイルシートをデザインできれば、私たちはそれが大好きです。クライアントごとに個別のWebサーバーを設定したくないので、スタイルシートを動的に選択することを検討しています。

これで、HTTPの「ホスト」ヘッダーで、クライアントが使用したURLを確認できます。これを、たとえばapp.phpで使用して、クライアントを定義するグローバル変数を設定できますか?Twigは、メインテンプレートでこの変数を読み取り、それに基づいて使用するスタイルシートを決定する可能性がありますか?

また、css変数を使用する必要がありますか?これは、色だけが変わる場合は、クライアントごとに完全なスタイルシートの「クローン」を保持するよりも望ましい場合があります。

要約すると:

  • 'host' HTTPヘッダーをSymfony2で使用して、使用するスタイルシートをTwigに示すことができますか?
  • スキーム内の色を識別するためにCSS変数を使用する必要がありますか、それともより良い方法がありますか?

前もって感謝します!

ディーター

4

1 に答える 1

1

個人的には、サイトごとに特別なCSSファイルを使用することをお勧めします(色や背景画像など、サイトごとに異なるスタイルが含まれています)。例site-clientA.our-domain.com.css

次に、次のようなものを使用できます。

<link rel="stylesheet" type="text/css" 
      href="/path/to/css/site-{{ app.request.host }}.css" />

または

{% if app.request.host in ['site-clientA.our-domain.com', 'site-clientB.our-domain.com', 'site-clientC.our-domain.com'] %}
  <link rel="stylesheet" type="text/css" 
        href="/path/to/css/site-style1.css" />
{% elseif ... %}
  ...
{% endif %}
于 2011-10-11T20:50:05.063 に答える