我正在研究模塊化CMS,我一直在思考內容架構。我需要一個靈活的系統,可以輕鬆創建不同的內容類型。每種內容類型都有一個處理它的模塊(或其他模塊中的方法)。該模塊處理創建,操作並幫助顯示內容(視圖負責查看內容,模塊爲他們提供信息)。CMS的內容結構
每種內容類型都有它自己的表,並且不知道其他內容類型。
Contents和Content_types是負責存儲有關內容的信息的表。
Contents
---------------------------------------------------------------------------------------
id slug content_type_id in_table_id language_id uid parent_id
1 about-us 1 1 1 83j8je29 0
2 o-nama 1 2 2 83j8je29 0
3 first-page 1 3 1 12j83j28 0
4 prva-strana 1 4 2 12j83j28 0
5 news 2 1 1 mSk2919k 0
6 vijesti 2 2 2 mSk2919k 0
7 breaking-title 3 1 1 B8392mkA 5
8 vazna-vijest 3 2 2 B8392mkA 6
Content_types
------------------
id content_type
1 page
2 category
3 article
該目錄保存了內容的蛞蝓,內容類型,該類型的內容,語言ID,UID的表格內容的ID - 這是唯一的內容,所以我們可以輕鬆地配對多語言內容和父母身份。
這是語言表...
Languages
---------------------------
id friendly_name sid
1 english eng
2 hrvatski cro
這是一個內容類型表的一個例子。
Pages
---------------------------------------------------------------
id title content author_id
1 About Us This is a page about us blah blah 5
2 O nama Ovo je stranica o nama 5
3 First Page Content 2
4 Prva strana Sadržaj 3
那麼,所有這些功能如何?
比方說,我們去: http://www.website.org/en/about-us
- 確定語言(EN),並找出它的ID號(1)
- 確定蛞蝓(約-US)
- 選擇內容與語言ID爲1和slug「about-us」
- 確定內容類型和in_table_id
- 調用負責打開(處理)該類型內容的模塊
- 模塊現在已加載。它現在找到ID爲1的頁面並顯示它。
又如: http://www.website.org/en/news/breaking-title
- 確定語言(EN),並找出它的ID(即1)
- 確定蛞蝓(新聞)
- 我們有兩個蛞蝓(打破標題)
- 現在我們找到帶有「破折號」子彈的內容,其中父母是「新聞」
- 調用負責模塊打開(處理)該類型的內容
- 模塊現在已加載。它現在找到ID爲1的文章並顯示它。
如果我們會去http://www.website.org/en/news/它會確定這是一個類別,並呼籲負責處理類模塊和我們需要什麼(在這種情況下是顯示所有的兒童內容)
我我想我想出了一個非常靈活的系統,但由於我不是很有經驗的程序員(我17歲),所以我不太確定,所以我問你對這個概念有什麼看法?
你能分享一下你在這方面學到什麼嗎?自從你問這個問題已經有一段時間了。 – 2016-01-15 14:00:58