2011-03-08 63 views
0

我在設計複雜問題的解決方案時遇到問題。我正在建立一個網站,創建html模板,包括css文件和html文件。用戶將能夠創建多個模板/站點。html和css在mysql中

在嘗試創建規範化數據庫時,我有一個用戶表(id,名稱,電子郵件,密碼等),一個站點列表表(user_id,site_id,site_name,description)和其他我有的麻煩搞清楚。

我試圖研製一種能夠同時HTML文件和CSS文件分解成可用於重現設計模板的數據庫。在創建/編輯模板時,會持續編輯和添加到數據庫。基本上,一個極其簡化的Dreamweaver。平面文件也可能是一個選項。

上如何去該工地的任何輸入或建議將不勝感激,例如如何將HTML和CSS分解成MySQL表/記錄。我並不是在尋找代碼,而是這樣的網站的基本概念/工作。提前致謝。

+0

你想代表數據庫中的CSS和HTML結構? – 2011-03-08 04:49:32

+0

我希望用戶可以完全控制模板,一個用戶可能在模板中有10個元素(div,p,a等),另一個用戶可能有100個。元素可以嵌套,沒有級別限制。我不知道存儲這樣的事情因爲變化可以用最好的方式,元素可以被添加/刪除,和CSS屬性可以作爲背景,邊框等 – Tony 2011-03-08 04:53:46

回答

0

你可以存儲在文本文件中的模板,然後將其存儲設置(如CSS屬性或圖像,他們可能想)在數據庫中。這樣,您只需使用應用的設置加載模板。

+0

模板將生成加入這樣的。例如,用戶將創建一個div元素,應用一些CSS組件到div,則可能添加了DIV內的段落元素和列表元素用自己的CSS屬性 – Tony 2011-03-08 04:55:12

+0

如果元素可以嵌套沒有限制,你最好存儲模板在文件而不是數據庫中,因爲這會使數據庫非常慢。 – Will 2011-03-08 04:58:40

+0

我看過的一個選項是使用修改後的預定義樹遍歷算法在html表中存儲html層次結構級別的表,然後可能有附加表來存儲CSS屬性。這將使添加和刪除元素變得簡單。如果使用平面文件,則必須讀取整個文件並將其存儲爲字符串以進行修改,然後在每次進行更改時重寫整個文件。我在想數據庫選項會在服務器上更快,更少的工作,但我可能是錯的 – Tony 2011-03-08 05:02:33

1

首先,你確定你甚至要在數據庫中存儲的內容?這將給您的服務器帶來沉重的負擔,將它們作爲文件生成到DocumentRoot的文件系統中,並直接由Web服務器進行處理。我可以看到將配置選項(顏色選擇,圖像名稱等)存儲在數據庫中,而不是文件本身。

這些網站可以讓客戶想要的任何內容,或者是他們在一個主題的變化?如果它是前者,那麼你真的不能自動化它。您可以將內容存儲在數據庫中而不是文件中,但這並不會真正有利。

我認爲最好的辦法就是看看CMS/Joomla等CMS程序如何將頁面分解爲單獨的包含文件(頁眉,頁腳,左側菜單,右側菜單等)並將其用作模型。客戶選擇一個模板,每個模板定義了可以用不同內容分開佈置的部分。

+0

本網站的目的與基本的Dreamweaver相似;用戶將從空白頁開始並開始添加元素。段落,列表等內容也將包含在內。用戶將能夠隨時查看和下載他/她的模板。這會改變什麼嗎? – Tony 2011-03-08 05:06:31