簡單CMS

建立一個 CMS 功能模組

CMS 的全名為 Content Management System,一般稱作內容管理系統,它主要的功能是內容的維護與發佈,常見的軟體有 WordPress、Joomla!、Drupal、Xoops。 一個軟體系統經常會遇到這樣的功能需求,同時它具備有以下的特點: 欄位數目少、不同的功能需要不同的欄位。所以在規劃這樣的功能時,必須考慮日後的維護是否簡單、資料表的設計是否清楚,在這裡我們會把這樣的功能做成一個軟體積木。

人事管理系統中的 [最新消息維護] 用來維護所要公佈的最新消息,它的清單畫面如下:

編輯畫面如下:

MsgController.cs 檔案是這個功能的 controller,檔案內容如下:

public class MsgController : XpCmsController
{
    //constructor
    public MsgController()
    {
        ProgName = "最新消息維護";
        CmsType = CmsTypeEstr.Msg;
        DirUpload = _Xp.DirCmsType(CmsType);
        EditDto = new CmsEditDto()
        {
            Title = "主旨",
            Text = "內容",
            //Html = "Html",
            Note = "備註",
            FileName = "上傳檔案",
            StartTime = "發佈起日",
            EndTime = "發佈迄日",
        };
    }

}//class

從上面的檔案內容中你可以看到,MsgController 繼承 XpCmsController,只要在 constructor 建構式設定變數的內容,即可讓它的清單畫面和編輯畫面正常運作,其中 XpCmsController 是這類功能的基礎類別,它跟一般的 CRUD 的功能相同。另外,我們利用設定 EditDto 這個類別變數的欄位值,來控制它的編輯畫面所要維護的欄位清單。例如,如果你把上面的程式碼裡面的 Html 欄位的註解拿掉,則它的編輯畫面就會出現 Html 這個欄位,。這樣的功能你可以根據系統的需求,輕易地複製並且實現。