Css 如何在Symfony2中根据您访问该站点的url获取特定于客户端的配色方案
我们在Symfony2中有一个单一的webinterface,许多用户都在使用它 客户。 每个客户端通过不同的URL进入我们的站点。 例如:Css 如何在Symfony2中根据您访问该站点的url获取特定于客户端的配色方案,css,dynamic,stylesheet,symfony,twig,Css,Dynamic,Stylesheet,Symfony,Twig,我们在Symfony2中有一个单一的webinterface,许多用户都在使用它 客户。 每个客户端通过不同的URL进入我们的站点。 例如: 客户A从clientA.our-domain.com进入 客户端B从clientB.our-domain.com进入 客户端C甚至可能从clientC.com加入,即使用他们自己选择的域而不是我们的子域 然而,不管他们使用的URL是什么,他们最终的结果都是一样的 机器:我们的网站 现在我们对所有的CSS都使用相同的CSS,不管是哪一个 客户如果我们能为
- 客户A从clientA.our-domain.com进入
- 客户端B从clientB.our-domain.com进入
- 客户端C甚至可能从clientC.com加入,即使用他们自己选择的域而不是我们的子域
- Symfony2中是否可以使用“主机”HTTP头向Twig指示要使用的样式表李>
- 我们应该使用CSS变量来识别方案中的颜色,还是有更好的方法
Dieter就个人而言,我更喜欢为每个站点使用一个特殊的CSS文件(包含样式,每个站点的样式不同,比如颜色或背景图像)。例如,
网站clientA.our domain.com.css
然后你可以用这样的东西:
<link rel="stylesheet" type="text/css"
href="/path/to/css/site-{{ app.request.host }}.css" />
或
{%if-app.request.host位于['site-clientA.our domain.com'、'site-clientB.our domain.com'、'site-clientC.our domain.com']%}
{%elseif…%}
...
{%endif%}
谢谢您的回复。使用url是idd的发展方向。不幸的是,将所有变量放在一个样式表中对于我们的设计是不够的。在我们的例子中,这将导致一个巨大的、不可管理的css文件。使用CSS变量可能是一个解决方案?然后,我们可以使用url方法引用.css文件,并将所有不同颜色的内容放在该文件中,并将其用作其他css文件中的变量()更大的问题是,在Symfony中使用.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 %}