我正在考虑网站的用户可配置颜色方案的问题。该站点当前有一组平面CSS文件,可由用户选择(选择存储为SQL数据库用户表中的列)。这导致了维护问题,因为更新文件以扩展站点的CSS是不可行的。
特别是,有一组css选择器,我希望用户能够为其选择颜色值。也就是说,在伪代码中,
body {
background-color : <% print user_bg_color %>;
}
我的问题并不关心实现这种CSS生成的机制。相反,
是否有标准做法或最佳方式来存储这样的价值集?
[编辑]
如果没有标准方法,有哪些技巧?
[/编辑]
任何此类技术都应该是可扩展的,因为对网站的CSS的进一步修改将允许网站管理员添加新变量。目前,大约有30种颜色方案,每种颜色由90个变量组成,大约35,000个用户。
答案 0 :(得分:0)
我认为不一定有标准方法,但对我来说显而易见且简单的是一个基本上多对多的表(尽管你的css变量名不一定是独立存储在数据库中,除非你需要添加比变量名更多的数据):
通过这种方式,您可以轻松地为用户选择所有css,或者为用户单独选择user_id和css_variable_name。
至少在user_id上放一个索引。这应该会使性能得到快速提升。 (你可能不希望在css_variable_name上有一个因为所有重复,但是值得测试两种方式)