亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > 織夢DEDE > 正文

DedeCms 常用函數參考:靜態模板類

2024-07-12 09:06:36
字體:
來源:轉載
供稿:網友

DedeCms V5.3 常用函數參考:靜態模板類

類文件
include/dedetag.class.php

這個文件是dedecms V5.3及之前版本使用的主要的模板類,它是解析式模板類,并非編譯式的(區別是前者通過獲得標簽位置進行內容替換,后者是直接解析式PHP代碼,二次執行)

一、模板語法
織夢模板引擎是一種使用XML名字空間形式的模板解析器,使用織夢解析器解析模板的最大好處是可以輕松的制定標記的屬性,感覺上就像在用HTML一樣,使模板代碼十分直觀靈活,新版的織夢模板引擎不單能實現模板的解析還能分析模板里錯誤的標記。

1、織夢模板引擎的代碼樣式有如下幾種形式:
{dede:標記名稱 屬性='值'/}
{dede:標記名稱 屬性='值'}{/dede:標記名稱}
{dede:標記名稱 屬性='值'}自定義樣式模板(InnerText){/dede:標記名稱}

提示:
如果使用帶底層模板的標記,必須嚴格用{dede:標記名稱 屬性='值'}{/dede:標記名稱} 這種格式,否則會報錯。

2、織夢模板引擎內置有多個系統標記,這些系統標記在任何場合都是能直接使用的。

(1) global 標記,表示獲取一個外部變量,除了數據庫密碼之外,能調用系統的任何配置參數,形式為:
{dede:global name='變量名稱'}{/dede:global}

{dede:global name='變量名稱'/}

其中變量名稱不能加 $ 符號,如變量 $cfg_cmspath ,應該寫成 {dede:global name='cfg_cmspath'/} 。

(2) foreach 用來輸出一個數組,形式為:
{dede:foreach array='數組名稱'}[field:key/] [field:value/]{/dede:foreach}

(3) include 引入一個文件,形式為:
{dede:include file='文件名稱' ismake='是否為dede板塊模板(yes/no)'/}
對文件的搜索路徑為順序為:絕對路徑、include文件夾,CMS安裝目錄,CMS主模板目錄

3、織夢標記允許在任何標記中使用函數對得到的值進行處理,形式為:
{dede:標記名稱 屬性='值' function='youfunction("參數一","參數二","@me")'/}
其中 @me 用于表示當前標記的值,其它參數由你的函數決定是否存在,例如:
{dede:field name='pubdate' function='strftime("%Y-%m-%d %H:%M:%S","@me")'/}

4、織夢標記允許有限的編程擴展。
格式為:
{dede:tagname runphp='yes'}
$aaa = @me;
@me = "123456";
{/dede:tagname} 
@me 表示這個標記本身的值,因此標記內編程是不能使用echo之類的語句的,只能把所有返回值傳遞給@me。
此外由于程序代碼占用了底層模板InnerText的內容,因此需編程的標記只能使用默認的InnerText。 

二、解析方式

在 dedetag.class.php 里面有四個類

class DedeAttribute  屬性結構表述

class DedeAttributeParse  屬性解析器

class DedeTag  標簽結構表述

class DedeTagParse  標簽解析器

使用解析類解析模板時一般經過下面的步驟

1、初始化:

$dtp = new DedeTagParse();

2、載入模板/模板字符串:

$dtp->LoadTemplate(模板文件(絕對路徑));  //會生成緩存,第二次不需解析模板

$dtp->LoadSource(字符串);

3、給標簽賦值

foreach($dtp->CTags as $tid=>$ctag) {
   //判斷ctag的名稱和屬性,并給賦不同的值,通常用函數處理

  if($ctag->GetName=='mytag') $dtp->Assign($tid, mytagvalue($ctag) );

}

在上面例子中,直接把名稱為 mytag的標簽轉交給 mytagvalue 函數處理,mytagvalue 里判斷$ctag的各個屬性,返回不同內容即可。

在 V5.3版本中,通常除了field、list等專用標簽之外,凡arc.*開頭的類解析的文件,標簽都是對應該 include/taglib 的源碼的,這個由系統進行了自動的映射。

4、顯示或保存為HTML

$dtp->display();

$dtp->SaveTo(靜態文件名);

對于二次開發人員而言,不大需要知道dedecms模板具體解析方式,不過應該十分清楚CTag這個類的結構,從而判斷標簽不同屬性進行處理。

 

以下為引用的內容:

class DedeTag{    var $IsReplace=FALSE; //標記是否已被替代,供解析器使用    var $TagName=""; //標記名稱    var $InnerText=""; //標記之間的文本    var $StartPos=0; //標記起始位置    var $EndPos=0; //標記結束位置    var $CAttribute=""; //標記屬性描述,即是class DedeAttribute    var $TagValue=""; //標記的值    var $TagID = 0;    //獲取標記的名稱和值    function GetName()    {        return strtolower($this->TagName);    }    function GetValue()    {        return $this->TagValue;    }    //下面兩個成員函數僅是為了兼容舊版    function GetTagName()    {        return strtolower($this->TagName);    }    function GetTagValue()    {        return $this->TagValue;    }    //獲取標記的指定屬性    function IsAttribute($str)    {        return $this->CAttribute->IsAttribute($str);    }    function GetAttribute($str)    {        return $this->CAttribute->GetAtt($str);    }    function GetAtt($str)    {        return $this->CAttribute->GetAtt($str);    }    function GetInnerText()    {        return $this->InnerText;    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美大人香蕉在线| 欧美大全免费观看电视剧大泉洋| 欧美极品少妇与黑人| 国产精品视频公开费视频| 亚洲成人国产精品| 亚洲美女喷白浆| 久久久久久久久久久人体| 国产精品99久久久久久久久| 精品久久久久久中文字幕| 粉嫩av一区二区三区免费野| 日韩av电影手机在线观看| 亚洲最大福利网站| 北条麻妃在线一区二区| 久久久久久国产精品美女| 97成人精品视频在线观看| 久久艹在线视频| 亚洲另类xxxx| 深夜福利亚洲导航| 欧美激情伊人电影| 黄色精品一区二区| 久久精品91久久香蕉加勒比| 日韩欧美一区二区在线| 欧美又大又粗又长| 91天堂在线视频| 亚洲欧美日韩区| 国产日产欧美精品| 成人天堂噜噜噜| 欧美第一黄色网| 九九精品在线观看| 欧美日韩成人黄色| 国产精品久久久久久久久久久久久久| 久久6免费高清热精品| 国产精品视频午夜| 国产精品久久久亚洲| 理论片在线不卡免费观看| 奇米影视亚洲狠狠色| 日韩成人网免费视频| 日韩二区三区在线| 在线观看日韩www视频免费| 欧美日韩免费在线| 中文字幕在线看视频国产欧美| 欧美精品九九久久| 久久最新资源网| 日韩精品亚洲精品| 久久亚洲影音av资源网| 日韩激情在线视频| 日韩欧美在线播放| 欧美高清无遮挡| 久久精品国亚洲| 欧美国产日韩一区二区三区| 亚洲美女动态图120秒| 国产视频自拍一区| 久久久电影免费观看完整版| 日韩av网址在线观看| 欧美中文在线免费| 久久久伊人欧美| 国产成人亚洲综合青青| 久久免费视频网站| 最新的欧美黄色| 91日韩在线播放| 日本电影亚洲天堂| 日韩精品免费在线观看| 中文字幕亚洲欧美日韩高清| 亚洲自拍小视频| 久久国产精品亚洲| 国产欧美va欧美va香蕉在线| 最近2019年日本中文免费字幕| 久久免费视频在线观看| 91精品啪aⅴ在线观看国产| 亚洲欧美精品中文字幕在线| 日韩综合中文字幕| 国产精品久久不能| 欧美交受高潮1| 国产偷国产偷亚洲清高网站| 亚洲成年网站在线观看| 欧美色xxxx| 久久精品小视频| 亚洲欧美日韩国产中文专区| 亚洲欧美福利视频| 国产一区二区三区直播精品电影| 欧美亚洲成人xxx| 日本亚洲欧洲色α| 亚洲国产精品99| 国产精品高清在线| 欧美激情亚洲自拍| 裸体女人亚洲精品一区| 国产精品欧美一区二区| 欧美精品在线免费观看| 国产亚洲精品美女久久久久| 一本色道久久88综合亚洲精品ⅰ| 亚洲欧美国产精品久久久久久久| 亚洲欧美日韩高清| 中文字幕在线观看日韩| 国产一区二区三区免费视频| 日韩电影在线观看永久视频免费网站| 国产日韩欧美黄色| 国产精品91免费在线| 国产精品视频播放| 亚洲性xxxx| 亚洲精品视频久久| 欧美成年人视频网站| 国产区精品视频| 亚洲欧美另类自拍| 日韩精品中文在线观看| 成人性生交大片免费观看嘿嘿视频| 日韩精品免费在线视频观看| 色无极亚洲影院| 国产精品h在线观看| 久久成人av网站| 日韩激情av在线播放| 亚洲一级片在线看| 亚洲免费精彩视频| 亚洲天堂色网站| 亚洲国模精品一区| 国产亚洲欧美日韩美女| 国产精品国产三级国产aⅴ浪潮| 久久综合久久美利坚合众国| 在线看日韩欧美| 日韩暖暖在线视频| 亚洲人成在线观看网站高清| 亚洲一区久久久| 欧美日韩另类在线| 国产一区二区日韩精品欧美精品| 欧美超级免费视 在线| 中文字幕亚洲欧美日韩2019| 精品露脸国产偷人在视频| 热久久视久久精品18亚洲精品| 久久亚洲精品中文字幕冲田杏梨| 在线精品国产欧美| 国产热re99久久6国产精品| 国产在线拍偷自揄拍精品| 久久国产精品久久久| 成人情趣片在线观看免费| 亚洲午夜女主播在线直播| 欧美日韩亚洲高清| www.亚洲天堂| 26uuu亚洲伊人春色| 国产91精品最新在线播放| 亚洲第一中文字幕在线观看| 午夜精品久久久久久久白皮肤| 在线激情影院一区| 欧美激情伊人电影| 高清欧美性猛交| 亚洲男女自偷自拍图片另类| 欧美精品18videos性欧美| 国产一区二区美女视频| 国产综合福利在线| 性欧美亚洲xxxx乳在线观看| 亚洲偷熟乱区亚洲香蕉av| 久久精品国产视频| 日韩精品视频免费在线观看| 国产精品精品国产| 国产欧美久久久久久| 国产视频精品xxxx| 在线成人激情黄色| 日本精品va在线观看| 久久不射电影网| 日韩精品999| 美女999久久久精品视频| 日韩美女主播视频| 欧美多人爱爱视频网站| 98精品国产自产在线观看| 亚洲欧美中文日韩在线| 激情成人中文字幕|