0

我正在使用 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 服务器缓存后访问的第一个页面上选择的背景颜色是我在所有随后访问的页面上也得到的背景颜色,无论 variable 的值如何raduno

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

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

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

4

1 回答 1

0

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

于 2013-09-10T00:24:07.767 回答