標記參考:arclist (artlist、likeart、hotart、imglist、coolart、spec art)字段頻道mytag投票好友鏈接我的新聞循環頻道artlist頁面列表page list分頁符字段列表。
壹、夢織模板解析引擎概述在了解DedeCms的模板代碼之前,了解壹下夢織模板引擎的知識是非常有意義的。夢想編織模板引擎是壹個HTML命名空間形式的模板解析器。使用夢織解析器解析模板最大的好處就是可以方便的設置標簽的屬性,使得模板代碼非常直觀靈活。新版夢織模板引擎不僅可以解析模板,還可以解析模板中的錯誤標簽。
1,夢想編織模板引擎代碼樣式有以下幾種形式:
{dede:標記名Attribute =' Value'/}
{ dede:tagname attribute = ' value ' } {/dede:tagname }
{ dede:tag name attribute = ' value ' }自定義樣式模板(InnerText){/dede: tag name}
提示:
對於{ dede:tag name attribute = ' value ' } {/dede:tag name }形式的標簽,在2.1版本中,只需要“{/dede}”表示結束,但是
在V3中應該嚴格使用“{/dede: tag name}”,否則會報錯。
2.夢想編織模板引擎內置了多個系統標簽,任何情況下都可以直接使用。
(1)全局標誌,表示獲取壹個外部變量,該變量可以調用系統除數據庫密碼以外的任何配置參數,形式為:
{dede:global name= '變量名' }{/dede:global}
或者
{dede:全局名稱= '變量名'/}
變量名不能加$符號,比如變量$cfg_cmspath,應該寫成{ dede:global name = ' CFG _ CMS path '/}。
(2) foreach用於以如下形式輸出數組:
{ dede:foreach array = ' array name ' }[field:key/][field:value/]{/dede:foreach }
(3)包括以下形式的文件:
{dede:include file= '文件名'/}
文件的搜索路徑按以下順序排列:絕對路徑、包含文件夾、CMS安裝目錄和CMS主模板目錄。
3.dream-weaving標簽允許您使用任何標簽中的函數來處理以下列形式獲得的值:
{ dede:tag name attribute = ' value ' function = ' you function("參數壹","參數二"," @me")'/}
其中@me用於表示當前標簽的值,其他參數由您的函數決定,例如:
{ dede:field name = ' pubdate ' function = ' strftime(" % Y-% M-% d % H:% M:% S "," @me")' /}
二、DedeCms模板制作規範
DEDEDECMS系統的模板不是固定的。用戶可以在創建新欄時選擇自己的欄模板。官方只提供最基本的默認模板,也就是內置系統模型的模板。DEDEDECMS支持自定義渠道模型。用戶自定義新的渠道模型後,需要根據這個模型設計壹個新的模板。
首先,概念,設計和使用模板,我們必須了解以下概念:
1、板(蓋)模板:
指用於網站首頁或重要欄目封面的模板,壹般以“index_ identifying ID.htm”命名。此外,還可以選擇是否支持單個頁面的模板標簽或用戶定義的自定義標簽。如果是這樣,系統將在輸出內容或生成特定文件之前使用模板標記引擎來解析它。
2.列表模板:
指壹個網站的壹個欄目中所有文章列表的模板,壹般命名為“list_ identify ID.htm”。
3.文件模板:
代表文檔查看頁面的模板,壹般命名為“article_ recognition ID.htm”。
4.其他模板:
壹般系統中常見的模板有:首頁模板、搜索模板、RSS、JS編譯函數模板等。此外,用戶還可以自定義模板來創建任何文件。
二、命名,為了規範起見,智盟官方建議使用統壹的方式命名模板,如下:
1,模板保存位置:
模板目錄:{cmsspath/templates/style name(英文,默認為default,其中system為系統底層模板,plus為插件使用的模板)/特定函數模板文件}
常規模板位置:"/templates/default "
2、模板文件命名規範:
(1)index _ identificati on id . htm:表示板塊(柱蓋)的模板;
(2)list_ Identify ID.htm:表示列列表模板;
(3)article_ Identify ID.htm:表示內容查看頁面(文檔模板,包括特殊查看頁面);
(4) search.htm:搜索結果列表模板;
(5) index.htm:首頁模板;
註意事項:
您系統中每個內容頻道的[標識ID]是:
示例:list_image.htm表示是,即內容類型為照片集的列的默認列表模板。
三、主要標誌參考
1,arclist標記
該標簽是DedeCms中最常用的標簽之壹,其中hotart、coolart、likeart、artlist、imginfolist、specart都是由該標簽定義的不同屬性擴展而來。
功能:獲取指定的文檔列表。
適用範圍:封面模板、列表模板、單據模板。
(1)基本語法:
{ dede:arclist & lt;br & gttypeid = ' ' row = ' ' col = ' ' title len = ' ' & lt;br & gtinfo len = ' ' img width = ' ' img height = ' ' list type = ' ' order by = ' ' keyword = ' ' }
自定義樣式模板(InnerText)
{/dede:arclist}
這個標簽等同於artlist、imglist和imginfolist標簽,它們完全等同於artlist,但不同於imglist和imginfolist,它們只是默認的底層模板。
(2)屬性引用:
[1] typeid= ' '表示列id,在列表模板和文件模板中壹般不需要指定,在封面模板中允許使用“和”來分隔多列;
[2] row= ' '表示文檔中返回的行數。如果與col結合使用,just結果數等於row * col;
[3] col= ' '指示顯示多少列(默認為單列);
[4] titlelen= ' '表示標題長度;
[5] infolen= ' '表示內容簡介的長度;
[6] imgwidth= ' '表示縮略圖寬度;
[7] height =“”表示縮略圖的高度;
[8] type= ' '表示文件類型,其中默認值或type='all '是常用文檔。
Type =' comment '的意思是推薦文檔,相當於
Type =' image '表示必須包含縮略圖的文檔。
[9] orderby= ' '表示排序方法,默認值為按發布時間排序的發送日期。
Order by =' hot '或orderby='click '表示根據點擊次數排列。
Order by =' pubdate '按發布時間(即前臺允許更改的時間值)排列。
Order by =' sortrank '根據新的排序級別對文章進行排序(如果要使用排名靠前的文章,請使用此屬性)。
Order by =' ID '按文章ID排序。
[10] keyword= ' '表示包含指定關鍵字的文檔列表,多個關鍵字之間用“,”分隔。
[11]channelid = ' number '表示特定的頻道類型,內置的頻道有:話題(-1)、文章(1)、圖集(2)、Flash(4)、軟件(3)。
[12] limit=' start,end '表示有限的記錄範圍,row屬性必須等於' end-start ',mysql的limit語句以0開頭,例如,' limit 0,5 '表示取前五條記錄,' limit 5,5 '表示從第五條記錄中取五條記錄。
(3)底層模板變量
ID(與ID相同),title,iscommend,color,typeid,ismake,description(與info相同),
Pubdate,senddate,arc rank,click,litpic(與picname相同),typedir,typename,
Arcurl(與文件名相同),typeurl,stime (0000-00-00格式的發布日期),
文本鏈接,類型鏈接,圖片鏈接,圖片
其中包括:
textlink = & lta href='arcurl'>。title & lt/a & gt;
typelink = & lta href='typeurl'>。鍵入名稱& lt/a & gt;
imglink = & lta href='arcurl'>。& ltimg src = ' picname ' border = ' 0 ' width = ' img width ' height = ' img height ' & gt;& lt/a & gt;
image = & ltimg src = ' picname ' border = ' 0 ' width = ' img width ' height = ' img height ' & gt;
變量調用方法:[field:varname /]
比如:
{ dede:arclist infolen = ' 100 ' }
[字段:文本鏈接/]
& ltbr & gt
[字段:信息/]
& ltbr & gt
{/dede:arclist}
2.野生動物識別標誌
此標簽用於獲取特定列或文件的字段值以及常用的環境變量值。
適用範圍:封面模板、列表模板、單據模板。
(1)基本語法
{dede:字段名=''/}
(2)名稱屬性的值:
板塊模板:PHP URL,索引URL,索引名稱,模板URL,成員URL,power by,webname,spec URL。
列表模板:position,title,PHP URL,templet URL,member URL,power by,index URL,index name,spec URL,列表dede_arctype的所有字段。
其中位置是“列1 >;第二欄“本表格的鏈接,標題是本表格的標題。
文檔模板:position、PHP URL、templet URL、member URL、power by、index URL、index name、spec URL、ID(與ID、aid相同)、archive dede_archives表以及附加表的所有字段。
3.頻道標簽
用於獲取列列表
適用範圍:封面模板、列表模板、單據模板。
(1)基本語法
{dede:channel row='' type=''}
自定義樣式模板(InnerText)
{/dede:channel}
(2)屬性
[1] row=' number '表示獲得的記錄數(壹般在某壹級別的列太多時使用,默認為8)。
[2] type = top,sun,self
Type='top '代表頂級列。
Type='sun '表示從屬列。
Type='self '表示同壹級別的列。
後兩個屬性必須在列表模板中使用。
(3)底層模板變量
ID、typename、typedir、typelink(此處僅表示該欄目的網址)
示例:
{dede:頻道類型='top'}
& lta href = '[field:typelink/]' & gt;[field:typename/]& lt;/a & gt;
{/dede:channel}
4.mytag標簽
用於獲取自定義標簽的內容。
適用範圍:封面模板、列表模板、單據模板。
(1)基本語法
{ dede:mytag typeid = ' ' name = ' ' is make = ' '/}
(2)屬性
[1] typeid =' number '表示列id,默認值為0。如果沒有為尚未設置的列定義此名稱的標記,將使用以下搜索方法來搜索“首先查找父列-& gt;common標記(typeid=0)的同名標記。
[2] name = ' '標記名。
[3] ismake = yes|no默認值為no,表示mytag中的內容不包含其他封面模板的標簽,yes表示標簽內容包含其他封面模板的標簽。
5.投票標記
用於獲取壹組投票表格。
適用範圍:封面模板
(1)基本語法
{ dede:vote ID = ' voting ID ' line height = ' 22 ' & lt 22 '
{/dede:vote}
6、friendlink標簽,相當於flink
用於獲取友好鏈接。
適用範圍:封面模板
(1)基本語法
{ dede:flink type = ' ' row = ' ' col = ' ' title len = ' ' table style = ' ' } {/dede:flink }
屬性註釋:
[1]類型:鏈接類型,值:
A.textall以文字顯示。
B.文本圖像文本和圖片的混合排列
C.文本只顯示沒有徽標的鏈接。
D.圖像僅顯示帶有徽標的鏈接。
-
[2]行:顯示多少行?默認為4行。
[3]col:顯示了多少列?默認值為6列。
[4]titlelen:站點文本的長度
[5]表格樣式:表示
7.我的新聞標簽
以前在電視臺看新聞。
適用範圍:封面模板
(1)基本語法
{dede:mynews row= '文章數量' titlelen= '標題長度' }Innertext{/dede:mynews}
Innertext支持的字段有:[field: title/]、[field: writer/]、[field: senddate/] (time)、[field:body /]。
8.循環標簽
用於調用任何表格的數據,壹般用於調用論壇帖子等操作。請參考論壇擴展。
9.channelartlist標記
用於獲取頻道下欄的內容列表。
適用範圍:封面模板
語法:
{ dede:channel art list typeid = 0 col = 2 table width = ' 100% ' }
& lttable width = " 99% " border = " 0 " cell padding = " 3 " cell spacing = " 1 " bgcolor = " # BF CFA 9 " >
& lttr & gt
& lttd bgcolor="#E6F2CC " >。
{dede:type}
& lttable border = " 0 " cell padding = " 0 " cellspacing = " 0 " width = " 98% " & gt;
& lttr & gt
& ltTD width = ' 10% ' align = " center " >& ltimg src = '[field:global name = ' CFG _ plus _ dir '/]/img/channellist . gif ' width = ' 14 ' height = ' 16 ' & gt;& lt/TD & gt;
& ltTD width = ' 60% ' & gt;
& lta href = "[field:typelink/]" & gt;[field:typename/]& lt;/a & gt;
& lt/TD & gt;
& lttd width='30%' align='right'>。
& lta href = "[field:typelink/]" & gt;更大的...
& lt/TD & gt;
& lt/tr & gt;
& lt/table & gt;
{/dede:type}
& lt/TD & gt;
& lt/tr & gt;
& lttr & gt
& ltTD height = " 150 " valign = " top " bgcolor = " # FFFFFF " >
{dede:arclist row="8"}
& lta href = "[field:arcurl/]" & gt;[field:title/]& lt;/a & gt;& ltbr & gt
{/dede:arclist}
& lt/TD & gt;
& lt/tr & gt;
& lt/table & gt;
& ltdiv style = ' font-size:2px ' & gt;& lt/div & gt;
{/dede:channelArtlist}
ChannelArtlist是唯壹可以直接嵌套其他標簽的標簽,但僅限於嵌套。
{dede:type}{/dede:type}和{dede:arclist}{/dede:arclist}
馬克。
(1)屬性
Typeid=0通道id。默認情況下,嵌套標記使用該列ID的從屬列。如果要使用特定的列,可以使用“,”來分隔多個id。
Col=2顯示在多列中。
Tablewidth='100% '外圍表的大小。
10,頁面標簽
代表尋呼頁面的附加參數
適用範圍:列表模板
語法:
{dede:page pagesize= "每頁的結果數"/}
11,列表標簽
代表列表模板中的內容列表。
語法:
{ dede:list col = ' ' title len = ' ' & lt;br & gtinfo len = ' ' img width = ' ' img height = ' ' order by = ' ' } {/dede:list }
底部模板變量
ID(與ID相同),title,iscommend,color,typeid,ismake,description(與info相同),
Pubdate,senddate,arc rank,click,litpic(與picname相同),typedir,typename,
Arcurl(與文件名相同),typeurl,stime (0000-00-00格式的發布日期),
文本鏈接,類型鏈接,圖片鏈接,圖片
12,頁面列表標簽
表示分頁頁面列表。
適用範圍:列表模板
語法:
{dede:pagelist listsize="3"/}
Listsize表示[1][2][3]這些項目的長度x 2。
13,分頁標記
用法:表示文檔的分頁鏈接列表。
適用範圍:僅文檔模板。
語法:{dede:pagebreak /}
14,字段列表標記
目的:獲取附表的所有字段信息。
適用範圍:僅文檔模板。
語法:
{dede:fieldlist}
[field:name/]:[field:value/]& lt;br & gt
{/dede:fieldlist}