首頁 後端開發 php教程 power by dedecms dedecms 製作範本中使用的全域標記圖文教學

power by dedecms dedecms 製作範本中使用的全域標記圖文教學

Jul 29, 2016 am 08:36 AM

如果這個官方的模板解釋看的太抽象的,可以 參考一下:
 dedecms 制作模板中使用的全局标记图文教程
 dedecms 制作模板中使用的全局标记图文教程
 dedecms 制作模板中使用的全局标记图文教程
 dedecms 制作模板中使用的全局标记图文教程
分析🎜>

標記參考: arclist(artlist,likeart,hotart,imglist,imginfolist,coolart,specart) field channel mytag -------------------------------------------------- -------------------------
一、織夢模板解析引擎概述 
在了解DedeCms的模板程式碼之前,先了解織夢模板引擎的知識是非常有意義的。織夢模板引擎是一種使用XML名字空間形式的模板解析器,使用織夢解析器解析模板的最大好處是可以輕鬆的製定標記的屬性,感覺上就像在用HTML一樣,使模板代碼十分直觀靈活,新版的織夢模板引擎不單能實現模板的解析還能分析模板裡錯誤的標記。
1.織夢模板引擎的程式碼樣式有以下幾種形式:
{dede:標記名稱 屬性='值'/}
{dede:標記名稱 屬性='值'}{/dede :標記名稱}
{dede:標記名稱 屬性='值'}自訂樣式範本(InnerText){/dede:標記名稱}
提示:
對於{dede:標記名稱 屬性='值'}{/dede:標記名稱}這種形式的標記,在2.1版中,表示結束只需要用“{/dede}”,但
V3中需要嚴格用“{/dede:標記名稱}” ,否則會報錯。
2、織夢模板引擎內建多個系統標記,這些系統標記在任何場合都是能直接使用的。
(1) global 標記,表示取得外部變量,除了資料庫密碼之外,能呼叫系統的任何設定參數,形式為:
{dede:global name='變數名稱'}{/dede: global}

{dede:global name='變數名稱' /}
其中變數名稱不能加 $ 符號,如變數 $cfg_cmspath ,應寫成變數。
(2) foreach 用來輸出一個數組,形式為:
{dede:foreach array='數組名稱'}[field:key/] [field:value/]{/dede:foreach}
(3) include 引入一個文件,形式為:
{dede:include file='文件名稱' /}
文件的搜尋路徑為順序為:絕對路徑、include資料夾,CMS安裝目錄, CMS主模板目錄
3、織夢標記允許在任何標記中使用函數對得到的值進行處理,形式為:
{dede:標記名稱 屬性='值' function='youfunction("參數一","參數二","@me")'/}
其中 @me 用來表示目前標記的值,其它參數由你的函數決定是否存在,例如:
{dede:field name='pubdate' function='strftime("%Y-%m-%d %H:%M:%S","@me")' /}
二、DedeCms 模板製作規範
1 、DedeCms 的主要模板放在 「DedeCms安裝目錄/templets」 目錄,其中system為底層模板,一般可以在「自訂樣式模板(InnerText)」中改變,default 資料夾就是DedeCms官方提供的預設模板。因為DedeCms最小系統都包含圖集、文章、Flash、下載4個大模板,加上專題、搜尋 和 主頁模板,一共有十六個基本的模板文件,你可以按自己的情況更改有需要的模板。
2、DedeCms的範本標記依功能分為:封面範本標記(頻道封面、首頁)、清單範本標記、文件範本標記和特殊用途標記。
三、主要標記參考
1、arclist 標記這個標記是DedeCms最常用的一個標記,其中 hotart、coolart、likeart、artlist、imglist、imginfolist、specart 這些標記都是由這個標記所定義的不同屬性延伸出來的。
作用:取得一個指定的文件清單
適用範圍:封面範本、清單範本、文件範本
(1)基本語法:
{dede:arclist
typeid='' row= '' col='' titlelen='' 
infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword=''}
自訂樣式範本(InnerText)
{/dede:arclist}
本標記等同於artlist、imglist、imginfolist標記,其中與artlist是完全等同的,與imglist、imginfolist僅是預設的底層範本不同。
(2)屬性參考:
[1] typeid='' 表示欄位ID,在清單範本和檔案範本中一般不需要指定,在封面範本中允許用","分開表示多個欄位;
[2] row='' 表示回傳文件條數;
[3] col='' 表示分割多少列顯示(預設為單列);
[4] titlelen='' 表示標題長度;
[5] infolen='' 表示內容簡介長度;
[6] imgwidth='' 表示縮圖寬度;
[7] imgheight='' 表示縮圖高度;
[7] imgheight='' 表示縮圖高度;
[ 8] type='' 表示檔案類型,其中預設值或type='all'時為普通文檔
§ type='spec'時,表示專題文檔,等同於
{dede:specart typeid=' ' row='' col='' titlelen='' infolen=''
imgwidth='' imgheight='' listtype='' keyword=''}{/dede:specart}
§ type=' commend'時,表示推薦文檔,等同於
{dede:coolart typeid='' row='' col='' titlelen='' infolen=''
imgwidth='' imgheight='' listtype=''
imgwidth='' imgheight='' listtype= '' keyword=''}{/dede:coolart}
§ type='image'時,表示必須含有縮圖的文件
§ type='數字',特定的頻道類型,1 文章, 2 圖片集,3 軟體,4 Flash,其它數字則是使用者自訂頻道的id ,即是 dede_channeltype.ID 的數值。
[9] orderby='' 表示排序方式,預設值是 senddate 依發佈時間排列。同名屬性: sort
§ orderby='hot' 或 orderby='click' 表示依序排列,使用本屬性後等同於
{dede:hotart typeid='' row='' col=''titlelen ='' infolen=''
imgwidth='' imgheight='' listtype='' keyword=''}{/dede:hotart}
§ orderby='pubdate' 依出版時間排列(即是前台允許更改的時間值)
§ orderby='sortrank' 按文章的新排序級別排序(如果你想使用置頂文章則使用這個屬性)
§ orderby='id' 按文章ID排序
[10] keyword='' 表示含有指定關鍵字的文件列表,多個關鍵字以","分開。
(3)底層模板變數
ID(同 id),title,iscommend,color,typeid,ismake,description(同 info),
pubdate,senddate,arcrank,click,litpic(同picname) ,typedir,typename,
arcurl(同 filename),typeurl,stime(pubdate 的"0000-00-00"格式),
textlink,typelink,imglink,image
其中:
textlink,typelink,imglink,image
其中:
textlink= title
typelink = typename
imglink = 
image = 
變數呼叫方法:[field:varname /]
如:
{deinfo:arclist >[field:textlink /]
[field:info /]
{/dede:arclist}
2、field 標記
這個標記用來取得特定欄位或檔桉的欄位值及常用的環境變數值
適用範圍:封面範本、清單範本、文件範本
(1)基本語法
{dede:field name=''/}
(2) name 屬性的值:
板塊範本:phpurl,indexurl,indexname,templeturl,memberurl,powerby,webname,specurl
清單範本:position,title,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl,欄位表dede_arctype的所有欄位字段
其中 position 為 “欄目一 > 欄二” 這樣形式的鏈接,title則為這種形式的標題
文檔模板:position,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl,id (同 ID,aid),檔案dede_archives表格和附加表格的所有欄位。
3、channel 標記
用於取得欄位清單
適用範圍:封面範本、清單範本、文件範本
(1)基本文法
{dede:channel row='' type= ''}
自訂樣式範本(InnerText)
{/dede:channel}
(2)屬性
[1] row='數字' 表示取得記錄的條數(通用在某級欄位太多的時候使用,預設是 8)
[2] type = top,sun,self
type='top' 表示頂級欄位type='sun' 表示下層欄位 type='self' 表示同級欄位其中後兩個屬性必須在列表模板中使用。
(3)底層範本變數
ID,typename,typedir,typelink(這裡僅表示欄目的網址)
例:
{dede:channel type='top'}
[field :typename/] 
{/dede:channel}
4、mytag 標記
用於取得自訂標記的內容
適用範圍:封面範本、清單範本、文件範本
(1 )基本語法
{dede:mytag typeid='' name='' ismake='' /}
(2)屬性
[1] typeid = '數字' 表示欄ID,預設為 0,在沒有設定的欄位沒有定義這個名稱的標記,會如下搜尋方式來搜尋「先往上找到父欄 -> 通用標記(typeid=0)的同名標記」。
[2] name = '' 標記名稱。
[3] ismake = yes|no 預設為 no 表示mytag裡的內容不包含其它封面模板的標記,yes則表示標記內容含有其它封面模板標記。
5、vote 標記
用於取得一組投票表單
適用範圍:封面範本
(1) 基本語法
{dede:vote id='投票ID' lineheight='22 '
tablewidth='100%' titlebgcolor='#EDEDE2'
titlebackground='' tablebgcolor='#FFFFFF'}
{/dede:vote}
6、friendendo 🎜>用於取得友誼連結
適用範圍:封面範本
(1)基本語法
{dede:flink row='' col='' titlelen='' tablestyle=''}{/dede :flink}
7、mynews 標記
用於取得站內新聞
適用範圍:封面範本
(1) 基本語法
{dede:mynews row='條數' titlelen='標題長度'}Innertext{/dede:mynews}
Innertext支援的欄位為:[field:title /],[field:writer /],[field:senddate /](時間),[field:body /]
8、loop 標記
用於呼叫任意表的數據,一般用於呼叫論壇貼子之類的操作。
9、channelartlist 標記
用於取得頻道的下級欄目的內容清單
適用範圍:封面範本
語法:
{dede:channelArtlist typeid=0 col=2 tablewidth='100idth='100 %'}
{dede:type}
[field:typename /]
更多...
{/dede:type}
{dede:arclist row="8"}
·[field:title /]
{/dede:arclist}
{/dede:channelArtlist}
channelArtlist 是唯一一個可以直接嵌套其它標記的標記,但僅限於嵌套
{dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist}
標記。
(1) 屬性
typeid=0 頻道ID,預設的情況下,嵌套的標記使用的是這個欄目ID的下級欄目,如果你想用特定的欄目,可以用","分開多個ID。
col=2 分多列顯示
tablewidth='100%' 外圍表格的大小
10、page 標記
表示分頁頁面的附加參數
適用範圍:列表模板
語法:
{dede:page pagesize="每頁結果條數"/}
11、list 標記
表示清單範本裡的內容清單
文法:
{dede:list row ='' col='' titlelen='' 
infolen='' imgwidth='' imgheight='' orderby=''}{/dede:list}
底層模板變數
ID(同 id>ID(同義詞),title,iscommend,color,typeid,ismake,description(同 info),
pubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,
arcurl(同 picname),typedir,typename,
arcurl(同 picname),typedir,typename,
arcurl(同 name),typeurl,filename),typeurl,filename),typeurl,filename),typeurl,filename),typeurl,filename),typeurl,filename),typeurl,filename),typeurl stime(pubdate 的"0000-00-00"格式),
textlink,typelink,imglink,image
12、pagelist 標記
表示分頁頁碼清單
適用範圍:清單範本
語法。 :
{dede:pagelist listsize="3"/}
listsize 表示 [1][2][3] 這些項目的長度 x 2 
13、pagebreak 標記
用途:表示文件的用途:表示文件的分頁連結列表。
適用範圍:僅文件範本。 
語法:{dede:pagebreak /} 
14、 fieldlist 標記
用途:取得附加表的所有欄位資訊。
適用範圍:僅文件範本。
文法:
{dede:fieldlist}
[field:name /] : [field:value /] 
{/dede:fieldlist}

{/dede:fieldlist}

轉載於:http://hi.baidu.com/us%5fhosting 以上就介紹了power by dedecms dedecms 製作模板中使用的全局標記圖文教程,包括了power by dedecms方面的內容,希望對PHP教程有興趣的朋友有所幫助。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

php中的捲曲:如何在REST API中使用PHP捲曲擴展 php中的捲曲:如何在REST API中使用PHP捲曲擴展 Mar 14, 2025 am 11:42 AM

PHP客戶端URL(curl)擴展是開發人員的強大工具,可以與遠程服務器和REST API無縫交互。通過利用Libcurl(備受尊敬的多協議文件傳輸庫),PHP curl促進了有效的執行

在Codecanyon上的12個最佳PHP聊天腳本 在Codecanyon上的12個最佳PHP聊天腳本 Mar 13, 2025 pm 12:08 PM

您是否想為客戶最緊迫的問題提供實時的即時解決方案? 實時聊天使您可以與客戶進行實時對話,並立即解決他們的問題。它允許您為您的自定義提供更快的服務

解釋PHP中晚期靜態結合的概念。 解釋PHP中晚期靜態結合的概念。 Mar 21, 2025 pm 01:33 PM

文章討論了PHP 5.3中介紹的PHP中的晚期靜態結合(LSB),允許靜態方法的運行時間分辨率調用以更靈活的繼承。 LSB的實用應用和潛在的觸摸

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

框架安全功能:防止漏洞。 框架安全功能:防止漏洞。 Mar 28, 2025 pm 05:11 PM

文章討論了框架中的基本安全功能,以防止漏洞,包括輸入驗證,身份驗證和常規更新。

自定義/擴展框架:如何添加自定義功能。 自定義/擴展框架:如何添加自定義功能。 Mar 28, 2025 pm 05:12 PM

本文討論了將自定義功能添加到框架上,專注於理解體系結構,識別擴展點以及集成和調試的最佳實踐。

如何用PHP的cURL庫發送包含JSON數據的POST請求? 如何用PHP的cURL庫發送包含JSON數據的POST請求? Apr 01, 2025 pm 03:12 PM

使用PHP的cURL庫發送JSON數據在PHP開發中,經常需要與外部API進行交互,其中一種常見的方式是使用cURL庫發送POST�...

See all articles