




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Good is good, but better carries it.精益求精,善益求善。DedeCMS二次開發(fā)手冊DedeCMSV5.3二次開發(fā)手冊一、模板篇1.1、主要模板文件與功能說明DedeCMS系統(tǒng)的模板是非固定的,用戶可以在新建欄目時可以自行選擇欄目模板,官方僅提供最基本的默認模板,即是內置系統(tǒng)模型的各個模板,由于DedeCMS支持自定義頻道模型,用戶自定義新頻道模型后,還需要按該模型的字段設計一套新的模板,此外,DedeCMS也支持使用風格的形式使用模板,默認風格是default,它表示系統(tǒng)默認使用cmspath/templets/default這個文件夾的模板,如果你下載了一
2、套新的模板,你可以不必要刪除default原有的文件,把下載的模板文件夾命名你想要的風格名稱,如style2等,然后在后臺修改了默認的模板風格名稱為style2,那系統(tǒng)將使用cmspath/templets/style2這文件當作默認模板,但是若你手工指定了欄目模板的位置,則后臺參數風格的定義無效。一、概念,設計和使用模板,必須要理解下面幾個概念1、板塊(封面)模板:指網站主頁或比較重要的欄目封面頻道使用的模板,一般用“index_識別ID.htm”命名,此外,用戶單獨定義的單個頁面或自定義標記,也可選是否支持板塊模板標記,如果支持,系統(tǒng)會用板塊模板標記引擎去解析后才輸出內容或生成特定的文件。
3、2、列表模板:指網站某個欄目的所有文章列表的模板,一般用“l(fā)ist_識別ID.htm”命名。3、檔案模板:表示文檔查看頁的模板,如文章模板,一般用“article_識別ID.htm”命名。4、其它模板:一般系統(tǒng)常規(guī)包含的模板有:主頁模板、搜索模板、編譯功能模板等,此外用戶也可以自定義一個模板創(chuàng)建為任意文件。二、命名,DedeCMS模板默認命名規(guī)則如下1、模板保存位置:模板目錄:cmspath/templets/樣式名稱(英文,默認為default,其中system為系統(tǒng)底層模板,plus為插件使用的模板)/具體功能模板文件2、模板文件命名規(guī)范:()index_識別ID.htm:表示板塊(欄目封
4、面)模板;()list_識別ID.htm:表示欄目列表模板;()article_識別ID.htm:表示內容查看頁(文檔模板,包括專題查看頁);()search.htm:搜索結果列表模板;()index.htm:主頁模板;注解:識別ID可以在“頻道模型管理”的地方獲得,當然,你也可以在“頻道模型管理”的地方確定某個頻道的模板命名。例:list_image.htm表示是就是內容類型為圖片集的欄目默認列表模板。article_article.htm表示的是文章查看頁模板。三、其它模板說明1、默認底層模板位置:cmspath/templets/system功能:在沒有指定標記的默認底層模板的時候,系統(tǒng)
5、將自動調用這個文件夾的相應文件作為底層模板。2、插件目錄模板位置:cmspath/templets/plus功能:評論、友情鏈接、RSS地圖等模板。3、會員后臺模板位置:cmspath/member/templets功能:會員后臺的模板。四、二次開發(fā)在V5.3中已經將標簽開發(fā)分離出來,您可以通過后臺模板-標簽代碼管理,點擊“新增加一個新的標簽”來創(chuàng)建一個自己的標簽,標簽文件名為:標簽名.lib.php接口函數定義為:functionlib_標簽名(&$ctag,&$refObj),返回值是結果字符串修改標簽時為了防止出錯,您也可以修改它的名稱(同時修改文件名和函數名),這樣等同繼承了原來標簽的
6、代碼建立一個新的標簽。1.2、模板標簽語法簡介織夢的模板標簽類似于XML格式,所有的模板都含有定界符,默認情況下是dede:*和/dede:*,“*”代表模板標記名稱。一般情況下dede:*和/dede:*是成對出現(xiàn)的,例如:例1-1:dede:arclistflag=hlimit=0,1field:title/field:description/.查看全文/dede:arclist上面的dede:arclist和/dede:arclist成對出現(xiàn)在模板文件中,并且在兩個標簽當中包含了底層模板(innertext)。底層模板(Innertext),底層模板實際上就是對于有多條記錄的模板輸出,用
7、戶手工去指定單個記錄的樣式。標簽還有一類出現(xiàn)形式是dede:*/,通常以這種形式出現(xiàn)都是輸出變量、或者不含底層模板的內容。例如:1-2dede:global.cfg_webname/dede:arclistflag=hlimit=0,1/如果用戶沒有指定單個記錄的樣式,系統(tǒng)部分標簽都含有默認的底層模板,具體可以查看cmapath/templets/system/文件夾下面的文件,這里面都是系統(tǒng)的底層模板文件。注釋織夢標簽的模板注釋非常靈活,可以通過標簽后面的commet屬性進行賦值。例1-3:1dede:arclistflag=hlimit=0,1commet=調用頭條的第一篇內容2field
8、:titlecommet=這是文章標題標簽/3field:descriptioncommet=這是摘要標簽/.查看全文4/dede:arclist在模板引擎將上述標簽解析為html的時候,commet的內容是被忽略掉不去解析的,用戶在閱讀模板標記的時候可以更好的理解標簽的意義。函數每一個織夢的標簽都可以使用自定義函數對其進行擴展,自定義函數內容主要用于對當前標簽輸出內容進行處理。例1-4:dede:標記名稱function=youfunction(參數一,參數二,me)/其中me用于表示當前標記的值,其它參數由你的函數決定是否存在,例如:dede:field.pubdatefunction=s
9、trftime(%Y-%m-%d%H:%M:%S,me)/屬性模板標簽的屬性,決定了模板標記輸出的形式,例如arclist標簽主要功能是列出文檔列表,但列出什么內容、按照什么方式進行排序等取決于模板標簽的屬性。在織夢的模板標簽說明中含有各個模板的標簽屬性可以詳細查閱??梢圆榭蠢?-1中的flag=hlimit=0,1,這里flag和limit是標簽的相關屬性,通過手冊可以查閱屬性的介紹。如果模板標簽如果沒有列出屬性,系統(tǒng)有默認屬性值,用戶可以參考模板標簽說明查看默認屬性。編程織夢模板很方便的一個地方就是支持簡單的模板編程。格式為:1dede:tagnamerunphp=yes2$aaa=me;
10、3me=123456;4/dede:tagnameme表示這個標記本身的值,因此標記內編程是不能使用echo之類的語句的,只能把所有返回值傳遞給me。此外由于程序代碼占用了底層模板InnerText的內容,因此需編程的標記只能使用默認的InnerText。代碼篇2.1、common.func.php公用函數獲得當前的腳本網址functionGetCurUrl()返回格林威治標準時間functionMyDate($format=Y-m-dH:i:s,$timest=0)把全角數字轉為半角functionGetAlabNum($fnum)把含HTML的內容轉為純textfunctionHtml2T
11、ext($str,$r=0)把文本轉HTMLfunctionText2Html($txt)輸出Ajax頭functionAjaxHead()中文截取2,單字節(jié)截取模式functioncn_substr($str,$slen,$startdd=0)把標準時間轉為Unix時間戳functionGetMkTime($dtime)獲得一個0000-00-0000:00:00標準格式的時間functionGetDateTimeMk($mktime)獲得一個0000-00-00標準格式的日期functionGetDateMk($mktime)獲得用戶IPfunctionGetIP()獲取拼音以gbk編碼為
12、準functionGetPinyin($str,$ishead=0,$isclose=1)dedecms通用消息提示框functionShowMsg($msg,$gourl,$onlymsg=0,$limittime=0)保存一個cookiefunctionPutCookie($key,$value,$kptime=0,$pa=/)刪除一個cookiefunctionDropCookie($key)獲取cookiefunctionGetCookie($key)獲取驗證碼functionGetCkVdValue()過濾前臺用戶輸入的文本內容/$rptype=0表示僅替換html標記/$rptyp
13、e=1表示替換html標記同時去除連續(xù)空白字符/$rptype=2表示替換html標記同時去除所有空白字符/$rptype=-1表示僅替換html危險的標記functionHtmlReplace($str,$rptype=0)獲得某文檔的所有tagfunctionGetTags($aid)過濾用于搜索的字符串functionFilterSearch($keyword)處理禁用HTML但允許換行的內容functionTrimMsg($msg)獲取單篇文檔信息functionGetOneArchive($aid)2.2、dedesql.class.php數據庫類系統(tǒng)會自動載入dedesql.cla
14、ss.php文件,并用$dsql=$db=newDedeSql(false);進行初始化數據庫連接,因此在工程所有文件中均不需要單獨初始化這個類,可直接用$dsql或$db進行操作,為了防止錯誤,操作完后不必關閉數據庫。常用的方法:1、執(zhí)行一個非查詢類型的SQL語句,如insert、create、update等$rs=$db-ExecuteNoneQuery($sql);返回值為是否執(zhí)行成功。2、執(zhí)行一個非查詢類型的SQL語句,并返回成功記錄數$rs=$db-ExecuteNoneQuery2($sql);與上面相比,它返回的是影響的記錄數,而不是布爾值3、返回單個記錄$arr=$db-Get
15、One($sql);$dsql如果不帶limit,系統(tǒng)會自動加上limit0,14、執(zhí)行條件查詢語句$db-SetQuery($dsql);$db-Execute();while($arr=$db-GetArray()可以簡化為:$db-Execute(me,$dsql);while($arr=$db-GetArray()me為記錄集游標,用于區(qū)分不同的查詢,如:$db-Execute(me,$dsql);while($arr=$db-GetArray()$db-Execute(2,$dsql2);while($arr2=$db-GetArray()像這種情況必須指定一個值區(qū)分默認的me參數,
16、否則會出錯$db-GetArray($rsid,$acctype)參數$rsid=me$acctype=MYSQL_ASSOC在查詢游標中讀取數據還可以用$db-GetObject($rsid=me);返回的結果是用類結構表示的值。5、獲取上一個插入的自動遞增主鍵id值$db-GetLastID();6、獲得查詢的總記錄數$db-GetTotalRow($rsid=me)7、獲得MySql的版本號$db-GetVersion($isformat=true)默認的情況下會轉換成x.xx形式浮點數8、析放某查詢的資源$db-FreeResult($rsid=me);9、在數據庫中是否存在某數據表$
17、db-IsTable($tbname)10、重新選擇要操作的數據庫$db-SelectDB($dbname);11、獲得數據庫連接標識$db-linkID獲得這個連接標識后,可以直接用mysql相關函數進行數據庫操作在非不得已的情況,項目中一般不使用這個變量。2.3、datalistcp.class.php動態(tài)分頁類類文件include/datalistcp.class.php適用范圍:數據量不大的數據分頁使用方法:$dl=newDataListCP();$dl-pageSize=25;/設定每頁顯示記錄數(默認25條)$dl-SetParameter($key,$value);/設定get字
18、符串的變量/這兩句的順序不能更換$dl-SetTemplate($tplfile);?/載入模板$dl-SetSource($sql);?/設定查詢SQL$dl-Display();?/顯示模板dede:datalistfield.fieldname1/-field.fieldname2/./dede:datalisttag:pagelistlistitem=info,index,end,pre,next,pagenolistsize=5/listitem、listsize是可選屬性如果需要自定義datalist相關屬性,可以繼續(xù)本類來創(chuàng)建一個新類,只需改變GetArcList($atts,$
19、refObj=,$fields=array()方法即可。2.4、dedetag.class.php靜態(tài)模板類類文件include/dedetag.class.php這個文件是dedecmsV5.3及之前版本使用的主要的模板類,它是解析式模板類,并非編譯式的(區(qū)別是前者通過獲得標簽位置進行內容替換,后者是直接解析式PHP代碼,二次執(zhí)行)一、模板語法織夢模板引擎是一種使用XML名字空間形式的模板解析器,使用織夢解析器解析模板的最大好處是可以輕松的制定標記的屬性,感覺上就像在用HTML一樣,使模板代碼十分直觀靈活,新版的織夢模板引擎不單能實現(xiàn)模板的解析還能分析模板里錯誤的標記。1、織夢模板引擎的代碼
20、樣式有如下幾種形式:dede:標記名稱屬性=值/dede:標記名稱屬性=值/dede:標記名稱dede:標記名稱屬性=值自定義樣式模板(InnerText)/dede:標記名稱提示:如果使用帶底層模板的標記,必須嚴格用dede:標記名稱屬性=值/dede:標記名稱這種格式,否則會報錯。2、織夢模板引擎內置有多個系統(tǒng)標記,這些系統(tǒng)標記在任何場合都是能直接使用的。(1)global標記,表示獲取一個外部變量,除了數據庫密碼之外,能調用系統(tǒng)的任何配置參數,形式為:dede:globalname=變量名稱/dede:global或dede:globalname=變量名稱/其中變量名稱不能加$符號,如變
21、量$cfg_cmspath,應該寫成dede:globalname=cfg_cmspath/。(2)foreach用來輸出一個數組,形式為:dede:foreacharray=數組名稱field:key/field:value/dede:foreach(3)include引入一個文件,形式為:dede:includefile=文件名稱ismake=是否為dede板塊模板(yes/no)/對文件的搜索路徑為順序為:絕對路徑、include文件夾,CMS安裝目錄,CMS主模板目錄3、織夢標記允許在任何標記中使用函數對得到的值進行處理,形式為:dede:標記名稱屬性=值function=youfun
22、ction(參數一,參數二,me)/其中me用于表示當前標記的值,其它參數由你的函數決定是否存在,例如:dede:fieldname=pubdatefunction=strftime(%Y-%m-%d%H:%M:%S,me)/4、織夢標記允許有限的編程擴展。格式為:dede:tagnamerunphp=yes$aaa=me;me=123456;/dede:tagnameme表示這個標記本身的值,因此標記內編程是不能使用echo之類的語句的,只能把所有返回值傳遞給me。此外由于程序代碼占用了底層模板InnerText的內容,因此需編程的標記只能使用默認的InnerText。二、解析方式在dede
23、tag.class.php里面有四個類classDedeAttribute屬性結構表述classDedeAttributeParse屬性解析器classDedeTag標簽結構表述classDedeTagParse標簽解析器使用解析類解析模板時一般經過下面的步驟1、初始化:$dtp=newDedeTagParse();2、載入模板/模板字符串:$dtp-LoadTemplate(模板文件(絕對路徑));/會生成緩存,第二次不需解析模板或$dtp-LoadSource(字符串);3、給標簽賦值foreach($dtp-CTagsas$tid=$ctag)/判斷ctag的名稱和屬性,并給賦不同的值,
24、通常用函數處理if($ctag-GetName=mytag)$dtp-Assign($tid,mytagvalue($ctag);在上面例子中,直接把名稱為mytag的標簽轉交給mytagvalue函數處理,mytagvalue里判斷$ctag的各個屬性,返回不同內容即可。在V5.3版本中,通常除了field、list等專用標簽之外,凡arc.*開頭的類解析的文件,標簽都是對應該include/taglib的源碼的,這個由系統(tǒng)進行了自動的映射。4、顯示或保存為HTML$dtp-display();或$dtp-SaveTo(靜態(tài)文件名);對于二次開發(fā)人員而言,不大需要知道dedecms模板具體解
25、析方式,不過應該十分清楚CTag這個類的結構,從而判斷標簽不同屬性進行處理。classDedeTagvar$IsReplace=FALSE;/標記是否已被替代,供解析器使用var$TagName=;/標記名稱var$InnerText=;/標記之間的文本var$StartPos=0;/標記起始位置var$EndPos=0;/標記結束位置var$CAttribute=;/標記屬性描述,即是classDedeAttributevar$TagValue=;/標記的值var$TagID=0;/獲取標記的名稱和值functionGetName()returnstrtolower($this-TagNam
26、e);functionGetValue()return$this-TagValue;/下面兩個成員函數僅是為了兼容舊版functionGetTagName()returnstrtolower($this-TagName);functionGetTagValue()return$this-TagValue;/獲取標記的指定屬性functionIsAttribute($str)return$this-CAttribute-IsAttribute($str);functionGetAttribute($str)return$this-CAttribute-GetAtt($str);functionG
27、etAtt($str)return$this-CAttribute-GetAtt($str);functionGetInnerText()return$this-InnerText;2.5、dedetemplate.class.php動態(tài)模板類核心類文件include/dedetemplate.class.php用途:用于非核心模塊的動態(tài)頁面或列表頁的模板解析,如:member/content_list.php,通常是在datalistcp.class.php中使用,這個類在動態(tài)運行的情況下,由于本身是把模板編譯成PHP的,因此性能上會優(yōu)級于舊的解析類,這個方法將在未來版本中作為通用的方式。一
28、、使用方法:$tpl=newDedeTemplate(模板對象實例名稱,通常是tpl,模板存放目錄(生成緩存時會存放在這個目錄),include語法默認引用目錄);通常情況下參數二和參數三是不必要的,如:$tpl=newDedeTemplate(tpl);如果在類文件中調用,應該加上設置:$this-tpl-SetObject($this);在一些塊調用中默認將使用當前類的成員函數。$tpl-LoadTemplate(模板的物理路徑);如果模板中帶有dede:configname=value=/可以在載入模板后,通過$tpl-GetConfig($name)獲得這些變量的值。顯示頁面或保存頁面
29、為文件$tpl-Display();$tpl-SaveTo(物理絕對路徑的文件名);二、模板標記語法1、標記通用特性(1)短標記dede:/等同于dede:tagnamename=/(2)塊標記dede:tagname循環(huán)代碼/dede:tagname2、標記的具體語法及對應的PHP代碼(1)配置變量dede:configname=value=/配置變量可以在載入模板后通過$tpl-GetConfig($name)獲得,僅作為配置,不在模板中顯示。(2)短標記dede:/外部變量等同于dede:/var數組等同于dede:/field數組等同于dede:/系統(tǒng)配置變量等同于考慮到大多數情況下都
30、會在函數或類中調用模板,因此$_vars、$fields數組必須聲明為global數組,否則模板引擎無法獲得它的值從而導致產生錯誤。(3)自由調用塊標記tag:blocknamebind=GetArcListbindtype=class循環(huán)代碼/tag:blockname必要屬性:bind數據源來源函數bindtype函數類型,默認是class可選為subrstype返回結果類型,默認是array,可選項為string自定義函數格式必須為function(array$atts,object$refObj,array$fields);在沒有指定bind綁定的函數的情況下,默認指向MakePubl
31、icTag($atts,$tpl-refObj,$fields)統(tǒng)一管理,這個函數存放在cls_dede_tplinc.php。(4)固定塊標記1datalist從綁定類成員函數GetArcList中獲取數組并輸出dede:datalist循環(huán)代碼/dede:datalist遍歷一個二給維數組,數據源是固定的,只適用用類調用。等同于tag:blocknamebind=GetArcListbindtype=classrstype=arrayu循環(huán)代碼/tag:blockname2label從綁定函數中獲取字符串值并輸出等同于tag:blocknamebind=funcbindtype=subrs
32、type=string/3pagelist從綁定類成員函數GetPageList中獲取字符串值并輸出等同于tag:blocknamebind=GetPageListbindtype=classrstype=string/(5)include語法dede:includefile=/dede:includefilename=/(6)php代碼塊dede:phpphp代碼/或dede:phpphp代碼/dede:php(7)if條件僅支持if,else,else直接用else表示,但不支持elseif這樣的語法,一般建議模板中不要使用太復雜的條件語法,如果確實有需要,可以直接使用php語法。dede
33、:if條件a-blockelseb-block/dede:if條件中允許使用、表示相應的變量。如:dede:iffield.id10/dede:if(8)遍歷一個array數組dede:dede:key/=dede:value/dede:array各種語法的具體編譯后的代碼,可查看dede-template-class.php的functionCompilerOneTag(&$cTag)。塊調用示例代碼:1、示例一tag:datalisttimeformat=?tag:field.title/tag:field.descriptionfunction=CnSubstr(me,150)/.tag
34、:field.formattime/tag:datalist編譯后的代碼refObj-GetArcList($atts,$this-refObj,$fields);foreach($blockValueas$key=$fields)?ahref=.2、示例二tag:articlesort=newtitlelen=36row=10tag:field.typename/tag:field.titlefunction=CnSubstr(me,24)/tag:article編譯后的代碼refObj,$fields);if(is_array($blockValue)&count($blockValue)
35、0)foreach($blockValueas$key=$fields)?ahref=數據庫篇dede_archives|文檔主表字段類型整理屬性Null默認額外idmediumint(8)UNSIGNED是0文檔IDtypeidsmallint(8)UNSIGNED是0欄目IDsortrankint(10)UNSIGNED是0時間排序flagset(c,h,p,f,s,j,a,b)utf8_general_ci是NULL自定義屬性值ismakesmallint(6)是0是否審核channelsmallint(6)是1所屬模型IDarcranksmallint(6)是0閱讀權限clickmed
36、iumint(8)UNSIGNED是0點擊數moneysmallint(6)是0消費點數titlechar(60)utf8_general_ci是標題shorttitlechar(36)utf8_general_ci是簡明標題colorchar(7)utf8_general_ci是顏色writerchar(20)utf8_general_ci是作者sourcechar(30)utf8_general_ci是文檔來源litpicchar(60)utf8_general_ci是縮略圖pubdateint(10)UNSIGNED是0時間senddateint(10)UNSIGNED是0時間midme
37、diumint(8)UNSIGNED是0會員IDkeywordschar(30)utf8_general_ci是關鍵詞templetchar(30)utf8_general_ci是lastpostint(10)UNSIGNED是0最后回復scoresmediumint(8)UNSIGNED是0閱讀權限goodpostmediumint(8)UNSIGNED是0好評badpostmediumint(8)UNSIGNED是0差評notposttinyint(1)UNSIGNED是0評論選項(1:充許評論)useripchar(15)utf8_general_ci是IPredirecturlvarc
38、har(255)utf8_general_ci是跳轉地址descriptionvarchar(255)utf8_general_ci是摘要dede_addonarticle|文章附加表字段類型整理屬性Null默認額外aidmediumint(8)UNSIGNED否0文檔IDtypeidsmallint(5)UNSIGNED否0欄目IDbodymediumtextutf8_general_ci是NULL內容dede_addonimages|圖片附加表字段類型整理屬性Null默認額外aidmediumint(8)UNSIGNED否0文檔IDtypeidsmallint(5)UNSIGNED否0欄目
39、IDpagestylesmallint(6)否1表現(xiàn)方式(多頁多圖顯示、多頁單圖顯示、多行多列顯示)maxwidthsmallint(6)否600圖片寬度限制imgurlstextutf8_general_ci是NULL圖片內容(dede:pagestyle)rowsmallint(6)否0多列式參數(行)colsmallint(6)否0多列式參數(列)isrmsmallint(6)否0特殊選項(下載遠程圖片、從ZIP壓縮包中解壓圖片、網上復制圖片)ddmaxwidthsmallint(6)否200縮略圖寬度限制pagepicnumsmallint(6)否12每頁圖片數(單頁多圖顯示需要設置此
40、參數)dede_addonshop|商品附加表字段類型整理屬性Null默認額外aidmediumint(8)UNSIGNED否0文檔idtypeidsmallint(5)UNSIGNED否0欄目idbodymediumtextutf8_general_ci是NULL商品內容pricefloat否0價格truepricefloat否0優(yōu)惠價brandvarchar(250)utf8_general_ci否品牌unitsvarchar(250)utf8_general_ci否單位dede_addonsoft|軟件附加表字段類型整理屬性Null默認額外aidmediumint(8)UNSIGNED否
41、0文檔IDtypeidsmallint(5)UNSIGNED否0欄目IDfiletypevarchar(10)utf8_general_ci否文件類型(zip、rar)languagevarchar(10)utf8_general_ci否軟件語言softtypevarchar(10)utf8_general_ci否軟件類型(國產.)accreditvarchar(10)utf8_general_ci否授權方式(共享軟件.)osvarchar(30)utf8_general_ci否運行環(huán)境(windows.)softrankmediumint(8)UNSIGNED否0軟件等級(一星.)offic
42、ialUrlvarchar(30)utf8_general_ci否官方網址officialDemovarchar(50)utf8_general_ci否程序演示softsizevarchar(10)utf8_general_ci否軟件大小softlinkstextutf8_general_ci是NULL軟件地址introducetextutf8_general_ci是NULL軟件說明daccesssmallint(5)否0下載權限dede_addonspec|專題附加表字段類型整理屬性Null默認額外aidmediumint(8)UNSIGNED否0文檔IDtypeidsmallint(5)U
43、NSIGNED否0欄目IDnotetextutf8_general_ci是NULL專題節(jié)點dede_arctype|欄目表字段類型整理屬性Null默認額外idsmallint(5)UNSIGNED是NULL欄目IDreidsmallint(5)UNSIGNED是0上級欄目topidsmallint(5)UNSIGNED是0頂級欄目sortranksmallint(5)UNSIGNED是50欄目排序typenamechar(30)utf8_general_ci是欄目名typedirchar(60)utf8_general_ci是目錄地址isdefaultsmallint(6)是0欄目列表選項(1
44、:鏈接到默認頁;0:鏈接到列表第一頁;-1:使用動態(tài)頁)defaultnamechar(15)utf8_general_ci是index.html默認頁的名稱issendsmallint(6)是0是否支持投稿(0:不支持;1:支持)channeltypesmallint(5)UNSIGNED是1所屬頻道IDmaxpagesmallint(6)是-1ispartsmallint(6)是0欄目屬性(0:最終列表欄目;1:頻道封面;2:外部連接)coranksmallint(6)是0瀏覽權限tempindexchar(50)utf8_general_ci是封面模板templistchar(50)ut
45、f8_general_ci是列表模板temparticlechar(50)utf8_general_ci是內容模板namerulechar(50)utf8_general_ci是文章命名規(guī)則(typedir/YMD/aid.html)namerule2char(50)utf8_general_ci是列表命名規(guī)則(typedir/list_tid_page.html)modnamechar(20)utf8_general_ci是descriptionchar(150)utf8_general_ci是欄目描述keywordschar(30)utf8_general_ci是關鍵詞moresiteti
46、nyint(1)UNSIGNED是0多站點支持(0:不啟用)sitepathchar(60)utf8_general_ci是欄目地址siteurlchar(50)utf8_general_ci是綁定域名ishiddensmallint(6)是0是否隱藏欄目(0:顯示)crosstinyint(1)是0欄目交(0:不交叉;1:自動獲取同名欄目內容;2:手工指定交叉欄目ID)crossidtextutf8_general_ci是NULL交叉欄目IDcontenttextutf8_general_ci是NULL欄目內容dede_flinktype|友情鏈接網站類型字段類型整理屬性Null默認額外id
47、mediumint(8)UNSIGNED是NULL鏈接類型IDtypenamevarchar(50)utf8_general_ci是類型名稱dede_flink|友情鏈接表字段類型整理屬性Null默認額外idsmallint(5)UNSIGNED是NULL友鏈IDsortranksmallint(6)是0排序值urlchar(60)utf8_general_ci是鏈接地址webnamechar(30)utf8_general_ci是網站名msgchar(200)utf8_general_ci是網站簡況emailchar(50)utf8_general_ci是站長EMAILlogochar(60
48、)utf8_general_ci是LOGOdtimeint(10)UNSIGNED是0鏈接時間typeidsmallint(5)UNSIGNED是0站點類型ischecksmallint(6)是1鏈接位置(1、內頁;2、首頁)dede_admin|系統(tǒng)管理用戶表字段類型整理屬性Null默認額外idint(10)UNSIGNED否管理員IDusertypeint(10)UNSIGNED否0級別值useridchar(30)utf8_general_ci否用戶名pwdchar(32)utf8_general_ci否用戶密碼unamechar(20)utf8_general_ci否用戶筆名tname
49、char(30)utf8_general_ci否真實姓名emailchar(30)utf8_general_ci否Emailtypeidsmallint(5)UNSIGNED否0授權欄目(0為所有)logintimeint(10)UNSIGNED否0登陸時間loginipvarchar(20)utf8_general_ci否登陸IPdede_member|會員表字段類型整理屬性Null默認額外midmediumint(8)UNSIGNED是NULL會員IDmtypeenum(個人,企業(yè))utf8_general_ci是個人會員類型useridchar(20)utf8_general_ci是注冊
50、用戶名pwdchar(32)utf8_general_ci是密碼unamechar(36)utf8_general_ci是昵稱sexenum(男,女,保密)utf8_general_ci是保密性別ranksmallint(5)UNSIGNED是0會員級別值upranksmallint(5)UNSIGNED是0是否待升級moneymediumint(8)UNSIGNED是0會員金幣upmoneysmallint(5)UNSIGNED是0是否待充值emailchar(50)utf8_general_ci是Emailscoresmediumint(8)UNSIGNED是0積分mattsmallint
51、(5)UNSIGNED是0推薦spacestasmallint(6)是0會員空間狀況facechar(50)utf8_general_ci是頭像safequestionsmallint(5)UNSIGNED是0安全提示問題safeanswerchar(30)utf8_general_ci是安全提示問題答案jointimeint(10)UNSIGNED是0注冊時間joinipchar(16)utf8_general_ci是注冊IPlogintimeint(10)UNSIGNED是0登陸時間loginipchar(16)utf8_general_ci是登陸IPdede_member_space|會
52、員空間資料字段類型整理屬性Null默認額外midmediumint(8)UNSIGNED是0會員IDpagesizesmallint(5)UNSIGNED是10每頁文檔數mattsmallint(6)是0spacenamevarchar(50)utf8_general_ci是空間名spacelogovarchar(50)utf8_general_ci是空間LOGOspacestylevarchar(20)utf8_general_ci是空間風格signvarchar(100)utf8_general_ci是沒簽名簽名spacenewstextutf8_general_ci是NULL空間動態(tài)de
53、de_plus|插件管理表字段類型整理屬性Null默認額外aidmediumint(8)UNSIGNED是NULL插件IDplusnamevarchar(30)utf8_general_ci是插件名menustringvarchar(200)utf8_general_ci是菜單配置mainurlvarchar(50)utf8_general_ci是目標框架writervarchar(30)utf8_general_ci是作者isshowsmallint(6)是1是否啟用filelisttextutf8_general_ci是NULL文件列表dede_sys_set|系統(tǒng)設置表字段類型整理屬性N
54、ull默認額外idsmallint(5)UNSIGNED是NULLauto_incrementsnamechar(20)utf8_general_ci是設置名稱itemstextutf8_general_ci是NULL設置條目dede_sysconfig|系統(tǒng)參數表字段類型整理屬性Null默認額外aidsmallint(8)UNSIGNED是0參數IDvarnamevarchar(20)utf8_general_ci是參數名infovarchar(100)utf8_general_ci是變量說明groupidsmallint(6)是1變量類型IDtypevarchar(10)utf8_gene
55、ral_ci是string變量類型valuetextutf8_general_ci是NULL值dede_tagindex|Tags標簽表字段類型整理屬性Null默認額外idint(10)UNSIGNED是NULLTagidtagchar(12)utf8_general_ci是TAG內容countint(10)UNSIGNED是0點擊totalint(10)UNSIGNED是0文檔數weekccint(10)UNSIGNED是0周統(tǒng)計monthccint(10)UNSIGNED是0月統(tǒng)計addtimeint(10)UNSIGNED是0添加時間dede_tagindex|Tags標簽表字段類型整理
56、屬性Null默認額外idint(10)UNSIGNED是NULLTagidtagchar(12)utf8_general_ci是TAG內容countint(10)UNSIGNED是0點擊totalint(10)UNSIGNED是0文檔數weekccint(10)UNSIGNED是0周統(tǒng)計monthccint(10)UNSIGNED是0月統(tǒng)計addtimeint(10)UNSIGNED是0添加時間dede_taglist|TAG標簽列表表字段類型整理屬性Null默認額外tidint(10)UNSIGNED是0TAGIDaidint(10)UNSIGNED是0文章IDarcranksmallint
57、(6)是0typeidsmallint(5)UNSIGNED是0欄目IDtagvarchar(12)utf8_general_ci是TAG內容四、程序篇4.1、自定義模型使用教程在織夢系統(tǒng)中有內容模型這個概念,不同內容模型可以用來構建不同內容形式的站點,在系統(tǒng)中自帶了以下幾種模型:普通文章、圖集、軟件、商品、分類信息、專題。通過系統(tǒng)自帶的模型,我們可以用來構建不同類型的站點,例如:使用圖集可以做一個圖片站,用軟件模型構建一個軟件下載站點。當然以上隨系統(tǒng)附帶的模型被稱為系統(tǒng)模型,用戶可以自己定義一些模型,比如圖書、音樂專輯等,自定義了這些模型才可以構建更多內容形式的站點,本篇將講述如何使用系統(tǒng)的
58、自定義模型管理功能來實現(xiàn)內容模型的構建。我們首先登錄系統(tǒng)后臺,點擊核心-內容模型管理,進入內容模型管理界面,如下圖所示:這里我們介紹幾個相關參數的概念:ID號用于區(qū)分模型的唯一ID,一般常規(guī)模型的ID都是大于0的,比如普通文章、軟件等,如果使用了單表模型,ID一般需要小于-1,例如這里的分類信息模型;頻道名稱用于識別頻道類型的標識;識別id系統(tǒng)用于識別的id,這個關系到模板方面;附加表系統(tǒng)內容附加表項;模型類型分為系統(tǒng)類型和自動類型,系統(tǒng)類型為固化在系統(tǒng)中的內容模型,自動類型為用戶可創(chuàng)建的內容模型類型;接下來我們開始介紹如何使用自定義模型管理來創(chuàng)建一個自己的模型,并且用于建設不同內容類型的網站
59、中去。這里我們介紹一些周邊的內容,幾個要用到的概念:字段在數據庫中,表的列稱為字段,織夢系統(tǒng)也是如此,但更恰當的說法,存儲某個內容信息單元,稱為字段,例如標題、來源、作者等都是一個字段;內容系統(tǒng)主表程序將一些公用字段存儲在系統(tǒng)主表dede_archives,例如:標題、關鍵詞、縮略圖等,主表具體字段可以查詢織夢幫助中心()的有關二次開發(fā)手冊數據表部分的內容;附加表不同內容模型對應不同的附加表,通常以dede_addon識別ID命名,附加表中存放的都是詳細內容的相關字段(非公用),例如:文章內容(dede_addonarticle)、軟件類型(dede_addonsoft)、圖片集合(dede_
60、addonimage)等;單表獨立模型存儲時候不用到“主表附加表”的結構形式,直接使用單個數據表進行存儲內容數據,這樣脫離主從表,減少主表數據服在開銷,可以從很大程度上解決數據負載問題;明白了以上幾個概念我們可以來學習如何來自己創(chuàng)建一個內容模型了。一個完整的內容模型包含模型數據表、數據字段、模型模板、模型參數4個部分,制作一個內容模型大致有以下幾個步驟:1.模型規(guī)劃;2.模型制作;3.模板制作;4.欄目設置,下面我們從上面4個步驟來講解內容模型的制作。這里我們以一個圖書模型(book)為例子,這個模型主要功能就是介紹書籍。模型規(guī)劃模型規(guī)劃分為幾個部分一個是模型應用方面的規(guī)劃,其次就是字段信息方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 認真上好網課的倡議書(20篇)
- 個人與公司分紅合同范本
- 5人合伙合同范本
- 倉庫合租合同范本簡易模板
- 美好生活共同締造精彩發(fā)言稿7篇
- 主合同繼續(xù)有效合同范本
- 農場開荒建設合同范本
- 09水利合同范本
- gf 監(jiān)理合同范本
- 全款房產交易合同范本
- 一年級下冊綜合實踐活動教案2
- 護苗行動安全教育課件
- 生物-山東省濰坊市、臨沂市2024-2025學年度2025屆高三上學期期末質量檢測試題和答案
- 2025年小學督導工作計劃
- 2024-2025學年部編版歷史九年級上冊期末復習練習題(含答案)
- 2025年月度工作日歷含農歷節(jié)假日電子表格版
- 基于ChatGPT的ESG評級體系實現(xiàn)機制研究
- 2024年長沙民政職業(yè)技術學院單招職業(yè)技能測試題庫及答案解析
- 2024年精對苯二甲酸市場分析報告
- 《商務數據分析》課件-商務數據的分析
- 成人手術后疼痛評估與護理團體標準
評論
0/150
提交評論