在CMSMS中缓存动态样式表

时间:2013-02-13 22:49:45

标签: css caching content-management-system smarty

我正在使用CMS Made Simple。我正在尝试在我的css样式表中包含条件Smarty代码。

[[if $raduno eq '1']]
  [[assign var='bgcolor' value='#bc3516']] /* red */
[[else]]
  [[assign var='bgcolor' value='#f3c127']] /* yellow */
[[/if]]

body {
    background-color:  [[$bgcolor]];
    ...
}

代码似乎正常工作(根据raduno的值,我得到红色与黄色背景)。但是,css样式表的缓存似乎会干扰这种方法。清除CMSMS服务器缓存后访问的第一页上选择的背景颜色是我在所有后续访问的页面上获得的背景颜色,无论变量raduno的值如何。

是否可以根据变量的值缓存样式表? (如果是,自动或手动?)

目前通过使用两个单独的样式表来解决问题。但是,这使维护变得困难。此外,禁用缓存不是一个选项 - 使用两个样式表的模板用于整个站点。

我正在使用CMSMS版本1.10.3。我意识到升级可能有帮助,但我没有发现任何迹象表明更改日志中存在这种情况。 (我的版本安装在opensourcecms.com上!)

1 个答案:

答案 0 :(得分:0)

不,这样做的唯一方法是避免缓存样式表,这不是一个好主意。最简单的解决方法是使用内联css和Smarty,或者使用jquery进行交换。