DedeCMS自定義模型使用教程

在織夢繫統中有內容模型這個概念,不一樣內容模型能夠用來構建不一樣內容形式的站點,在系統中自帶了如下幾種模型:普通文章、圖集、軟件、商品、分類信息、專題。經過系統自帶的模型,咱們能夠用來構建不一樣類型的站點,例如:使用圖集能夠作一個圖片站,用軟件模型構建一個軟件下載站點。html

固然以上隨系統附帶的模型被稱爲系統模型,用戶能夠本身定義一些模型,好比圖書、音樂專輯等,自定義了這些模型才能夠構建更多內容形式的站點,本篇將講述如何使用系統的自定義模型管理功能來實現內容模型的構建。
咱們首先登陸系統後臺,點擊[核心]-[內容模型管理],進入內容模型管理界面,以下圖所示:

這裏咱們介紹幾個相關參數的概念:數據庫

ID 用於區分模型的惟一ID,通常常規模型的ID都是大於0的,好比普通文章、軟件等,若是使用了單表模型,ID通常須要小於-1,例如這裏的分類信息模型;
頻道名稱 用於識別頻道類型的標識;
識別 id 系統用於識別的id,這個關係到模板方面;
附加表 系統內容附加表項;
模型類型 分爲系統類型和自動類型,系統類型爲固化在系統中的內容模型,自動類型爲用戶可建立的內容模型類型;
 
接下來咱們開始介紹如何使用自定義模型管理來建立一個本身的模型,而且用於建設不一樣內容類型的網站中去。
這裏咱們介紹一些周邊的內容,幾個要用到的概念:
字段 在數據庫中,表的列稱爲字段,織夢繫統也是如此,但更恰當的說法,存儲某個內容信息單元,稱爲字段,例如標題、來源、做者等都是一個字段;
內容系統主表 程序將一些公用字段存儲在系統主表dede_archives,例如:標題、關鍵詞、縮略圖等,主表具體字段能夠查詢織夢幫助中心(http://help.dedecms.com)的有關二次開發手冊數據表部分的內容;
附加表 不一樣內容模型對應不一樣的附加表,一般以dede_addon[識別ID]命名,附加表中存放的都是詳細內容的相關字段(非公用),例如:文章內容(dede_addonarticle)、軟件類型(dede_addonsoft)、圖片集合(dede_addonp_w_picpath)等;
單表獨立模型 存儲時候不用到「主表+附加表」的結構形式,直接使用單個數據表進行存儲內容數據,這樣脫離主從表,減小主表數據服在開銷,能夠從很大程度上解決數據負載問題;
明白了以上幾個概念咱們能夠來學習如何來本身建立一個內容模型了。
一個完整的內容模型包含模型數據表、數據字段、模型模板、模型參數4個部分,製做一個內容模型大體有如下幾個步驟:1.模型規劃;2.模型製做;3.模板製做;4.欄目設置,下面咱們從上面4個步驟來說解內容模型的製做。這裏咱們以一個圖書模型(book)爲例子,這個模型主要功能就是介紹書籍。
 
模型規劃
模型規劃分爲幾個部分一個是模型應用方面的規劃,其次就是字段信息方面的規劃,以圖書(book)模型爲例子,咱們現規劃一個頻道使用這個模型,這個頻道做用就是讓你們分享一些好的學習資料,這裏主要是編程方面的書籍,因此欄目劃分大體以下:
如下爲引用的內容:
[網絡編程書籍]
|____[ASP相關]
|____[PHP相關]
|____[JSP相關]
|____[.NET相關]
這幾個欄目是支持會員投稿的,由於這個推薦的書籍不是不少,因此直接採用主從表的形式,不使用獨立單表模型,由於涉及到會員分享,因此這裏須要會員投稿,咱們給投稿會員級別設置爲中級會員纔有權限,而且須要摘要和說略圖,投稿以後須要通過管理員審覈,這樣基本的使用規劃完成,下面就是字段方面的規劃了。
由於介紹一本書,咱們規劃瞭如下內容:
出 版 社
publish
單行文本(varchar)
出版時間
pubtime
時間類型
字  數
cnum
整數類型
版  次
pubnum
整數類型
頁  數
pagenum
整數類型
印刷時間
pritime
時間類型
開  本
kbook
單行文本(varchar)
印  次
prinum
整數類型
紙  張
pages
單行文本(varchar)
I S B N
isbn
單行文本(varchar)
包  裝
packs
單行文本(varchar)
內容簡介
body
HTML文本
做者簡介
wrbody
HTML文本
目錄
bindex
HTML文本
這樣,咱們完成了第一步模型的規劃。
 
模型製做
規劃完成了,接下來咱們開始將這些規劃的內容建立爲一個內容模型。首先以超級管理員身份登陸到系統後臺。點擊[核心]-[模型管理],點擊「增長新模型」按鈕來建立模型。
按照系統提示配置模型的基本信息,這裏由於選擇的是自動模型,因此檔案發布的相管程序頁面只須要保留默認便可。由於咱們發佈的是圖書,因此這裏「投稿標題使用名稱」設置爲:圖書名稱。

由於這裏咱們使用的是自動模型,沒有本身製做相應的發佈管理程序,因此下面的相關模型發佈程序保持默認便可,固然若是你有必定的編程能力,能夠本身製做一個內容發佈程序,而後在這裏指定便可。

基本信息設置完畢,直接單擊肯定便可,進入到字段管理的頁面,點擊字段管理中的「添加新字段」按鈕,進入字段添加頁面,咱們根據相關的字段信息進行字段添加。
下面是一些字段類型咱們對部分字段進行一些說明:
如下爲引用的內容:
單行文本(varchar) :經常使用字段,如文章標題、做者等都屬於直接輸入少許內容的文本,設置這個文本以後須要指定文本長度,默認爲250,若是大於255則爲text類型
多行文本:也是較爲經常使用的字段類型,如我的簡介、產品描述均可以使用多行文本進行存儲
HTML 文本:用織夢編輯器編輯產生的html內容,用於比較複雜的內容形式
附件類型:能夠後臺上傳附件讓用戶下載,附件類型能夠在後臺進行設置
option 下拉框:下拉選擇,通常用於如軟件類型、語言類型等字段
聯動類型:一種數組形式的數據類型,能夠在系統後臺聯動類型管理中進行設置
瞭解了這些字段類型咱們就能夠添加咱們的字段信息了。

 
添加完成點擊肯定便可,這樣咱們就完成了這個模型的製做。模型添加完畢以後咱們發如今內容發佈的地方多出來一個發佈圖書的選項,這個說明咱們的模型就已經成功添加了。
 

模板製做編程

咱們經過織夢幫助中心的《主要模板文件與功能說明》瞭解到每一個模型還須要製做對應的模型模板文件,咱們能夠經過後臺模型管理中的模板文件說明查看模板文件。

 
模板製做主要有2個地方須要講解下。
一、列表頁模板list_[識別ID].htm中顯示在列表中須要調用添加擴展的字段須要在添加字段頁面勾選「使字段能夠在列表的底層模板中得到(自定義字段默認僅能在文檔模板顯示,啓用此選項將使列表查詢變慢,如無必要請不要選擇)」,這樣在{dede:list/}標籤中就可使用[field:fieldname/]來進行調用。
二、內容頁的標籤可使用{dede:field.fieldname /} 進行調用,具體能夠參考幫助中心模板相關的幫助文檔。
 
欄目設置
接下來咱們就能夠來添加一個欄目,在欄目設置中將欄目的內容模型設置爲圖書

 
而後咱們就能夠在這個欄目下添加文檔,會發現咱們如今能夠發佈圖書內容了

 
添加完成以後,咱們能夠瀏覽咱們的網站頁面,預覽咱們的模型效果。

至此咱們完成了整個模型的製做,整個過程仍是很是簡單的。這裏只介紹了自動模型的製做,固然有必定PHP基礎的用戶能夠本身開發系統模型,這樣就會擁有更爲強大的織夢繫統,使得網站內容更加豐富。