POST TIME:2020-04-08 22:18
通過DEDECMS系統(tǒng)自帶的模型,我們可以用來構(gòu)建不同類型的站點(diǎn),例如:使用圖集可以做一個(gè)圖片站,用軟件模型構(gòu)建一個(gè)軟件下載站點(diǎn)。
當(dāng)然以上隨系統(tǒng)附帶的模型被稱為系統(tǒng)模型,用戶可以自己用DEDECMS定義一些模型,比如圖書、音樂專輯等,自定義了這些模型才可以構(gòu)建更多內(nèi)容形式的站點(diǎn),本篇將講述如何使用系統(tǒng)的自定義模型管理功能來實(shí)現(xiàn)內(nèi)容模型的構(gòu)建。
我們首先登錄DEDECMS5.3系統(tǒng)后臺(tái),點(diǎn)擊[核心]-[內(nèi)容模型管理],進(jìn)入內(nèi)容模型管理界面,如下圖所示:
這里我們介紹幾個(gè)相關(guān)參數(shù)的概念:
•ID號(hào) 用于區(qū)分模型的唯一ID,一般常規(guī)模型的ID都是大于0的,比如普通文章、軟件等,如果使用了單表模型,ID一般需要小于-1,例如這里的分類信息模型;
•頻道名稱 用于識(shí)別頻道類型的標(biāo)識(shí);
•識(shí)別id 系統(tǒng)用于識(shí)別的id,這個(gè)關(guān)系到模板方面;
•附加表 系統(tǒng)內(nèi)容附加表項(xiàng);
•模型類型 分為系統(tǒng)類型和自動(dòng)類型,系統(tǒng)類型為固化在系統(tǒng)中的內(nèi)容模型,自動(dòng)類型為用戶可創(chuàng)建的內(nèi)容模型類型;
接下來我們開始介紹如何使用自定義模型管理來創(chuàng)建一個(gè)自己的模型,并且用于建設(shè)不同內(nèi)容類型的網(wǎng)站中去。
這里我們介紹一些周邊的內(nèi)容,幾個(gè)要用到的概念:
•字段 在數(shù)據(jù)庫(kù)中,表的列稱為字段,織夢(mèng)系統(tǒng)也是如此,但更恰當(dāng)?shù)恼f法,存儲(chǔ)某個(gè)內(nèi)容信息單元,稱為字段,例如標(biāo)題、來源、作者等都是一個(gè)字段;
•內(nèi)容系統(tǒng)主表 程序?qū)⒁恍┕米侄未鎯?chǔ)在系統(tǒng)主表dede_archives,例如:標(biāo)題、關(guān)鍵詞、縮略圖等,主表具體字段可以查詢織夢(mèng)幫助中心(http://help.dedecms.com)的有關(guān)二次開發(fā)手冊(cè)數(shù)據(jù)表部分的內(nèi)容;
•附加表 不同內(nèi)容模型對(duì)應(yīng)不同的附加表,通常以dede_addon[識(shí)別ID]命名,附加表中存放的都是詳細(xì)內(nèi)容的相關(guān)字段(非公用),例如:文章內(nèi)容(dede_addonarticle)、軟件類型(dede_addonsoft)、圖片集合(dede_addonimage)等;
•單表獨(dú)立模型 存儲(chǔ)時(shí)候不用到“主表+附加表”的結(jié)構(gòu)形式,直接使用單個(gè)數(shù)據(jù)表進(jìn)行存儲(chǔ)內(nèi)容數(shù)據(jù),這樣脫離主從表,減少主表數(shù)據(jù)服在開銷,可以從很大程度上解決數(shù)據(jù)負(fù)載問題;
明白了以上幾個(gè)概念我們可以來學(xué)習(xí)如何來自己創(chuàng)建一個(gè)內(nèi)容模型了。
一個(gè)完整的內(nèi)容模型包含模型數(shù)據(jù)表、數(shù)據(jù)字段、模型模板、模型參數(shù)4個(gè)部分,制作一個(gè)內(nèi)容模型大致有以下幾個(gè)步驟:1.模型規(guī)劃;2.模型制作;3.模板制作;4.欄目設(shè)置,下面我們從上面4個(gè)步驟來講解內(nèi)容模型的制作。這里我們以一個(gè)圖書模型(book)為例子,這個(gè)模型主要功能就是介紹書籍。
模型規(guī)劃
模型規(guī)劃分為幾個(gè)部分一個(gè)是模型應(yīng)用方面的規(guī)劃,其次就是字段信息方面的規(guī)劃,以圖書(book)模型為例子,我們現(xiàn)規(guī)劃一個(gè)頻道使用這個(gè)模型,這個(gè)頻道作用就是讓大家分享一些好的學(xué)習(xí)資料,這里主要是編程方面的書籍,所以欄目劃分大致如下:
以下為引用的內(nèi)容:
[網(wǎng)絡(luò)編程書籍]
|____[ASP相關(guān)]
|____[PHP相關(guān)]
|____[JSP相關(guān)]
|____[.NET相關(guān)]
這幾個(gè)欄目是支持會(huì)員投稿的,因?yàn)檫@個(gè)推薦的書籍不是很多,所以直接采用主從表的形式,不使用獨(dú)立單表模型,因?yàn)樯婕暗綍?huì)員分享,所以這里需要會(huì)員投稿,我們給投稿會(huì)員級(jí)別設(shè)置為中級(jí)會(huì)員才有權(quán)限,并且需要摘要和說略圖,投稿之后需要經(jīng)過管理員審核,這樣基本的使用規(guī)劃完成,下面就是字段方面的規(guī)劃了。
因?yàn)榻榻B一本書,我們規(guī)劃了以下內(nèi)容:
出 版 社 publish 單行文本(varchar)
出版時(shí)間 pubtime 時(shí)間類型
字 數(shù) cnum 整數(shù)類型
版 次 pubnum 整數(shù)類型
頁(yè) 數(shù) pagenum 整數(shù)類型
印刷時(shí)間 pritime 時(shí)間類型
開 本 kbook 單行文本(varchar)
印 次 prinum 整數(shù)類型
紙 張 pages 單行文本(varchar)
I S B N isbn 單行文本(varchar)
包 裝 packs 單行文本(varchar)
內(nèi)容簡(jiǎn)介 body HTML文本
作者簡(jiǎn)介 wrbody HTML文本
目錄 bindex HTML文本
這樣,我們完成了第一步模型的規(guī)劃。
模型制作
規(guī)劃完成了,接下來我們開始將這些規(guī)劃的內(nèi)容創(chuàng)建為一個(gè)內(nèi)容模型。首先以超級(jí)管理員身份登錄到系統(tǒng)后臺(tái)。點(diǎn)擊[核心]-[模型管理],點(diǎn)擊“增加新模型”按鈕來創(chuàng)建模型。
按照系統(tǒng)提示配置模型的基本信息,這里因?yàn)檫x擇的是自動(dòng)模型,所以檔案發(fā)布的相管程序頁(yè)面只需要保留默認(rèn)即可。因?yàn)槲覀儼l(fā)布的是圖書,所以這里“投稿標(biāo)題使用名稱”設(shè)置為:圖書名稱。
因?yàn)檫@里我們使用的是自動(dòng)模型,沒有自己制作相應(yīng)的發(fā)布管理程序,所以下面的相關(guān)模型發(fā)布程序保持默認(rèn)即可,當(dāng)然如果你有一定的編程能力,可以自己制作一個(gè)內(nèi)容發(fā)布程序,然后在這里指定即可。
基本信息設(shè)置完畢,直接單擊確定即可,進(jìn)入到字段管理的頁(yè)面,點(diǎn)擊字段管理中的“添加新字段”按鈕,進(jìn)入字段添加頁(yè)面,我們根據(jù)相關(guān)的字段信息進(jìn)行字段添加。
下面是一些字段類型我們對(duì)部分字段進(jìn)行一些說明:
以下為引用的內(nèi)容:
單行文本(varchar) :常用字段,如文章標(biāo)題、作者等都屬于直接輸入少量?jī)?nèi)容的文本,設(shè)置這個(gè)文本之后需要指定文本長(zhǎng)度,默認(rèn)為250,如果大于255則為text類型
多行文本:也是較為常用的字段類型,如個(gè)人簡(jiǎn)介、產(chǎn)品描述都可以使用多行文本進(jìn)行存儲(chǔ)
HTML文本:用織夢(mèng)編輯器編輯產(chǎn)生的html內(nèi)容,用于比較復(fù)雜的內(nèi)容形式
附件類型:可以后臺(tái)上傳附件讓用戶下載,附件類型可以在后臺(tái)進(jìn)行設(shè)置
option下拉框:下拉選擇,一般用于如軟件類型、語(yǔ)言類型等字段
聯(lián)動(dòng)類型:一種數(shù)組形式的數(shù)據(jù)類型,可以在系統(tǒng)后臺(tái)聯(lián)動(dòng)類型管理中進(jìn)行設(shè)置
了解了這些字段類型我們就可以添加我們的字段信息了。
添加完成點(diǎn)擊確定即可,這樣我們就完成了這個(gè)模型的制作。模型添加完畢之后我們發(fā)現(xiàn)在內(nèi)容發(fā)布的地方多出來一個(gè)發(fā)布圖書的選項(xiàng),這個(gè)說明我們的模型就已經(jīng)成功添加了。
我們通過織夢(mèng)幫助中心的《主要模板文件與功能說明》了解到每個(gè)模型還需要制作對(duì)應(yīng)的模型模板文件,我們可以通過后臺(tái)模型管理中的模板文件說明查看模板文件。
模板制作主要有2個(gè)地方需要講解下。
1. 列表頁(yè)模板list_[識(shí)別ID].htm中顯示在列表中需要調(diào)用添加擴(kuò)展的字段需要在添加字段頁(yè)面勾選“使字段可以在列表的底層模板中獲得(自定義字段默認(rèn)僅能在文檔模板顯示,啟用此選項(xiàng)將使列表查詢變慢,如無(wú)必要請(qǐng)不要選擇)”,這樣在{dede:list/}標(biāo)簽中就可以使用[field:fieldname/]來進(jìn)行調(diào)用。
2. 內(nèi)容頁(yè)的標(biāo)簽可以使用{dede:field.fieldname /} 進(jìn)行調(diào)用,具體可以參考幫助中心模板相關(guān)的幫助文檔。
欄目設(shè)置
接下來我們就可以來添加一個(gè)欄目,在欄目設(shè)置中將欄目的內(nèi)容模型設(shè)置為圖書
然后我們就可以在這個(gè)欄目下添加文檔,會(huì)發(fā)現(xiàn)我們現(xiàn)在可以發(fā)布圖書內(nèi)容了
添加完成之后,我們可以瀏覽我們的網(wǎng)站頁(yè)面,預(yù)覽我們的模型效果。
至此我們完成了整個(gè)模型的制作,整個(gè)過程還是非常簡(jiǎn)單的。這里只介紹了自動(dòng)模型的制作,當(dāng)然有一定PHP基礎(chǔ)的用戶可以自己開發(fā)系統(tǒng)模型,這樣就會(huì)擁有更為強(qiáng)大的織夢(mèng)系統(tǒng),使得網(wǎng)站內(nèi)容更加豐富。