2010-11-30 39 views
0

我有一個有相關頁面的網站。他們有指向彼此的鏈接,但我沒有整合系統,我也不知道這意味着什麼。什麼將內容管理系統與一堆網頁分開?

什麼是一組網頁必須被視爲內容管理系統(CMS)的最小代碼。是否所有的設置都在數據庫中,並且頁面是以某種方式生成的?是否有一些我所有頁面可以共享的小片段,使它們成爲CMS,數據庫還是不是?

謝謝。我也希望不必研究一個巨大的CMS來查看是什麼使其成爲CMS。基本瞭解後,我會知道我在找什麼。

編輯:這就是爲什麼我問代碼。每當我看了一個CMS,也許他們都不一樣,我看到要開發一個模塊,你總是必須從某些類繼承,並且有一些必要的代碼。我不知道是否有某種神奇的模式,我不知道所有的CMS製造商都明白。

編輯:也許我的問題更多是關於可擴展性或可插拔性。最低限度會是什麼樣子?有可能在這裏顯示嗎?

編輯:這個怎麼樣?如果CMS不可擴展和/或可插拔,是CMS嗎?

回答

1

我覺得這真的不可以說。我們都管理內容。 「系統」就是您使用的任何機制(在資源管理器中拖放或通過SQL查詢提交內容更改)。說需要最少量的代碼實際上並不是指示性的。什麼是指示性的是你發現自己犯錯的頻率以及給定的技能水平和知識的給定用戶在設計系統中執行功能的容易程度。這就告訴你你所擁有的值得稱爲「CMS」的品質/程度。

簡而言之,CMS是允許用戶發佈和編輯現有網頁內容的應用程序。

作爲對編輯的迴應:

「好」的CMS允許可擴展性。通過使用繼承,您可以擴展CMS提供的核心組件之外的功能。這是魔法。

關於可擴展性:

取決於你想,你可以加載使用內置的框架指令頁面或控件(ASP.NET)來構建你的CMS的語言/框架。通常,正在做什麼是一個父類/接口被定義強制的模塊將被開發遵循某個給定的標準:

Public MustInherit Class CMSModule 

'Here you will define properties and functions that need to be global to all modules being developed to extend your CMS. 

    public property ModuleName as string 
End Class 

public class PlugInFooCMSPage 
    inherits CMSModule 

end class 

然後,它只是一個簡單的在任何結構動態加載模塊事項給定的語言/框架提供。

+0

是的,但他們總是有一些代碼,你必須繼承創建模塊。那是需要後來繼承的那個模型,我不明白。更多的是使它成爲可插拔或可擴展類型的問題嗎? – johnny 2010-11-30 18:29:59

+0

@Johnny看到我的迴應,但是。這完全是關於可擴展性。 – Achilles 2010-11-30 18:30:57

0

內容管理系統是一個管理內容的系統。 :) 因此,如果您有多個共享相同佈局的頁面,則可以創建一個將內容存儲到數據庫中的系統,並且在請求頁面時,它會獲取該內容,並將其與包含頁眉的模板合併,菜單等,並輸出結果。

基本思想是,您不想複製HTML頁面,並且在想要更改佈局時不得不編輯數百個HTML頁面。

這樣的系統可能非常複雜,具有wysiwyg編輯器,工具欄,版本控制,多用戶發佈等功能,但它可以像標準日誌背後的單個頁面一樣簡單,只包含一個輸入字段標題和您在其中鍵入html內容的textarea。

1

最終,CMS是一個系統,讓您管理內容,因此它需要專用於讓您輕鬆創建編輯刪除您網站上的網頁的用戶界面。

但是,通常期望CMS能夠提供基於瀏覽器的所見即所得頁面編輯器,文件上傳,圖像大小調整,URL重寫,頁面類別和標籤,用戶帳戶(編輯器,管理員,管理員)以及一些一種templae系統。