2011-09-21 94 views
1

我正在考慮用戶可配置網站顏色方案的問題。該網站當前有一組平面CSS文件,可由用戶選擇(選擇存儲爲SQL數據庫的用戶表中的列)。這導致了維護問題,因爲更新文件以擴展站點的CSS是不可行的。爲數據庫中的每個用戶存儲顏色數組

特別是,有一個CSS選擇器的集合,我希望用戶能夠選擇顏色值。也就是說,在僞代碼中,

body { 
    background-color : <% print user_bg_color %>; 
} 

我的問題不關心實現這種CSS代的機制。相反,

是否存在這樣一個值集合的標準做法或最佳途徑?

[編輯]

如果沒有標準的方式,都有些什麼技巧?

[/編輯]

任何這樣的技術應該是可擴展的,在這個意義上,該網站的CSS的進一步修改將允許由站點管理員增加新的變數。目前,大約有30個配色方案,每個配置90個變量,約35,000個用戶。

+0

我認爲除了使它更易於閱讀和擴展之外,還有一個最佳實踐,它。 – CBRRacer

回答

0

我不認爲有一定的標準方式,但對我來說看起來很明顯和簡單的是一個基本上多對多的表(儘管你的css變量名不一定獨立存儲在數據庫中,除非你需要比變量名添加更多的數據):

  • USER_ID
  • css_variable_name_or_id(ID,如果它指的是CSS值的SQL表)

這樣,您可以輕鬆地爲用戶選擇所有的css,或者獨立地爲用戶選擇user_id和css_variable_name。

至少在user_id上放置一個索引。這應該使表演體面快速。 (你可能不希望在css_variable_name上有所有重複項,但是這兩個方法都值得測試)

相關問題