2011-10-04 7 views
0

우리는 Symfony2에서 클라이언트의 숫자에 의해 사용되는 단일 웹 인터페이스를 사용합니다. 각 클라이언트는 다른 URL로 사이트에 들어갑니다. 예를 들어 :사이트로 연결 한 URL을 기반으로 Symfony2에서 클라이언트 특정 색 구성표를 얻는 방법

  • 클라이언트 A는
  • 클라이언트 B는
  • 클라이언트 C도 사용 즉 clientC.com에서 가입 할 수 clientB.our-domain.com에서 입력 clientA.our-domain.com에서 입력 우리 도메인의 서브 도메인이 아닌 자신이 선택한 도메인

그러나 사용하는 URL에 관계없이 그들은 결국 machine : our website로 끝납니다.

지금은 클라이언트에 관계없이 모든 사용자에게 동일한 CSS를 사용합니다. 에 대한 스타일 시트를 클라이언트 별 색 구성표으로 디자인 할 수 있다면 그것을 좋아할 것입니다. 각 클라이언트마다 별도의 웹 서버를 설정하고 싶지 않으므로 스타일 시트를 동적으로 선택하려는 입니다.

이제 HTTP 'Host'헤더에서 클라이언트가 사용하는 URL 인 을 볼 수 있습니다. 예를 들어 app.php에서 클라이언트를 정의하는 일부 전역 변수 을 설정할 수 있습니까? Twig는 기본 템플릿에서이 변수를 읽고 그것에 따라 스타일 시트를 사용할 지 결정할 수 있습니다.

또한 CSS 변수를 사용해야합니까? 색만 변경된 경우 각 클라이언트에 대해 완전한 스타일 시트 '복제본'을 유지하는 것이 더 좋을 수 있습니다.

그래서 정리해 :

  • 은 '호스트'HTTP 헤더는 사용할 스타일 시트 나뭇 가지에 표시하기 위해 Symfony2에서 사용할 수 있습니까?
  • CSS 변수를 사용하여 구성표의 색상을 식별해야합니까, 아니면 더 좋은 방법이 있습니까?

미리 감사드립니다.

디터 개인적으로

답변

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 %} 
+0

들으 :

그럼 당신은 이런 식으로 뭔가를 사용할 수 있습니다. URL을 사용하는 것은 idd 길입니다. 모든 변수를 하나의 스타일 시트에 넣는 것만으로는 불행히도 충분하지 않습니다. 우리의 경우 거대한 하나의 관리 할 수없는 CSS 파일이 될 것입니다. CSS 변수를 사용하는 것이 해결책 일 수 있습니까? 그런 다음 url 메서드를 사용하여 .css 파일을 참조하고 해당 파일에 색이 다른 모든 것을 넣은 다음 다른 CSS 파일 (http : //net.tutsplus)의 변수로 사용합니다.com/tutorials/html-css-techniques/how-to-your-css-files /) 더 큰 질문은 Symfony에서 .css 변수를 사용하는 가장 좋은 방법은 무엇입니까? – Dieter

관련 문제