2012-09-04 48 views
2

我要做一個網站,讓管理員創建的「事件」,其他用戶可以。 registrate每一個「事件」有其自己的用戶。 時,管理員正在創造他有權選擇從預定義模板的設計(我當然​​之前創建的)的情況下,當我說德興我的意思是菜單和其他東西的位置的事情。 但這裏是「問題」,管理員從顏色選擇調色板菜單背景或文字的顏色,例如。如何動態設置屬性的模板(包括CSS)PHP

由於每個設計模板都有自己的CSS文件,我不知道如何將背景設置爲之前創建的「事件」的特定區域。

我在想,當我選擇顏色時,我可以把它放到一個帶有「事件」的數據庫中,當有人想看到事件時,我從數據庫中獲取它,使用PHP的file_gets_contents和用顏色值替換{這裏是一些屬性值}。你怎麼看?。 還有另一種方法可以做到嗎? 感謝您的時間來回答,並記住:d

回答

2

保存在數據庫或一些自定義的顏色值。然後,只需在html標頭中將這些CSS屬性設置爲style標籤。這樣你只需要設置可以在一個地方改變的屬性。

喜歡的東西:

<style type="text/css"> 
custom_text_color { color: $prop1_color; } 
custom_background { background-color: $prop2_color; } 
</style> 

然後,只需以下HTML輸出會留在網頁上使用相同後:

<span class="custom_text_color">This is text in your custom color!</span> 
+0

甚至不修改它的HTML頭。樣式表保存爲一個'.php',加上'標題(「內容類型:text/CSS」,真正的);'到PHP文件和使用會議確定以從數據庫中提取信息的參考ID。 (修改你的原始答案) – jeremy

+0

我想過推薦 - 但我認爲考慮可能有點太複雜的問題。特別是當你檢查一個文件是否已經存在時,正確地刷新緩存的文件等等。在每個頁面請求中寫入一個文件是我打賭這個用戶會做的,這是不好的。 –

+0

嗯,我仍然建議。 OP可以查看評論並決定他想做什麼。 – jeremy