2013-02-13 60 views
0

我正在使用CMS Made Simple。我试图在我的css样式表中包含条件Smarty代码。缓存CMSMS中的动态样式表

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

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

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

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

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

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

回答

0

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