建立一個 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 這個欄位,。這樣的功能你可以根據系統的需求,輕易地複製並且實現。