校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 網站建設 > 建站知識 > DEDECMS教程之靜態模板類類文件

DEDECMS教程之靜態模板類類文件

POST TIME:2019-09-30 17:43

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

include/dedetag.class.php這個文件是dedecms V5.3及之前版本使用的主要的模板類,它是解析式模板類,并非編譯式的(區別是前者通過獲得標簽位置進行內容替換,后者是直接解析式PHP代碼,二次執行)
一、模板語法
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;
}
}



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
麻豆成人av在线| 亚洲特黄一级片| 精品影视av免费| 亚洲精品在线网站| 国产一区视频在线看| 久久久精品免费网站| av电影在线观看一区| 1024精品合集| 欧美浪妇xxxx高跟鞋交| 日韩国产精品久久| 久久一区二区三区国产精品| 韩国成人福利片在线播放| 久久精品免视看| 色综合天天综合色综合av| 亚洲视频一区二区在线| 欧洲亚洲国产日韩| 极品瑜伽女神91| 日韩伦理av电影| 欧美日韩高清一区二区不卡| 精品在线观看免费| 日韩美女久久久| 欧美一二三在线| 成人免费电影视频| 天天影视色香欲综合网老头| 26uuu久久综合| 日本电影亚洲天堂一区| 日韩中文字幕亚洲一区二区va在线| 欧美电影精品一区二区| 成人av在线看| 全国精品久久少妇| 亚洲色图欧美在线| www欧美成人18+| 91福利在线播放| 国产黄人亚洲片| 亚洲3atv精品一区二区三区| 久久久亚洲国产美女国产盗摄| 欧美一二三区在线| 91麻豆123| 激情欧美日韩一区二区| 亚洲午夜日本在线观看| 国产视频一区在线播放| 91精品欧美一区二区三区综合在 | 成人性生交大片免费看中文| 亚洲午夜三级在线| 国产精品久久午夜| 日韩美女视频在线| 欧美日韩国产123区| 91猫先生在线| 国产大片一区二区| 久久99国产精品麻豆| 亚瑟在线精品视频| 一区二区激情视频| 中文字幕一区三区| 国产午夜精品久久久久久久| 欧美一卡2卡3卡4卡| 色吧成人激情小说| 91免费在线看| 91同城在线观看| 成人黄色在线看| 国产盗摄一区二区| 国产夫妻精品视频| 国内偷窥港台综合视频在线播放| 图片区小说区区亚洲影院| 一区二区三区日韩| 一区二区三区四区国产精品| 中文字幕一区不卡| 国产精品久久久久影视| 国产欧美精品国产国产专区| 精品国产伦理网| 精品国产精品网麻豆系列| 日韩一区二区三区视频在线观看| 欧美视频一区二区三区四区| 在线国产电影不卡| 欧美亚洲国产bt| 欧美性生活久久| 9191国产精品| 欧美日韩一区 二区 三区 久久精品| 972aa.com艺术欧美| 91在线视频观看| 色婷婷综合久久久中文一区二区| 91在线国产福利| 日本韩国精品一区二区在线观看| 一本久道中文字幕精品亚洲嫩| av在线不卡电影| 在线观看一区日韩| 欧美日本在线播放| 日韩精品中文字幕在线不卡尤物| 欧美成人精品福利| 久久久99免费| 亚洲欧美视频一区| 亚洲成在人线免费| 美女任你摸久久| 国产乱码精品一区二区三| 成人午夜电影久久影院| 91在线观看成人| 欧美在线你懂的| 欧美一级黄色片| 中文字幕不卡在线观看| 亚洲欧美日韩在线播放| 亚洲电影中文字幕在线观看| 免费成人av资源网| 国产高清不卡二三区| 色先锋资源久久综合| 在线不卡一区二区| www久久精品| 亚洲色图另类专区| 日韩高清电影一区| 国产成人99久久亚洲综合精品| 99精品欧美一区二区三区综合在线| 欧美无砖专区一中文字| 欧美大胆一级视频| 亚洲人成伊人成综合网小说| 午夜电影网亚洲视频| 国产成人在线看| 欧美视频在线不卡| 中文字幕的久久| 五月婷婷激情综合| 亚洲精品在线免费播放| 亚洲欧洲99久久| 毛片av一区二区三区| 色婷婷综合五月| 久久久久99精品一区| 一二三四社区欧美黄| 国产一区二区三区在线看麻豆| 一本到一区二区三区| 久久久99精品久久| 琪琪一区二区三区| 日本高清不卡视频| 国产精品午夜在线观看| 男女激情视频一区| 色综合久久久久综合99| 精品理论电影在线| 日韩中文字幕麻豆| 色av成人天堂桃色av| 国产日产欧美一区二区视频| 日本免费在线视频不卡一不卡二| 99久久er热在这里只有精品66| 日韩欧美中文一区| 亚洲综合在线视频| 99热99精品| 中文字幕成人av| 国产精品一区二区三区99| 91精品免费在线| 亚洲电影在线免费观看| 一本大道久久a久久综合| 国产片一区二区| 九九九精品视频| 欧美一二三四区在线| 亚洲va欧美va人人爽午夜| www.色综合.com| 中文字幕的久久| 成人一区二区三区中文字幕| 精品国产免费久久| 美日韩黄色大片| 91.麻豆视频| 日本v片在线高清不卡在线观看| 欧美午夜在线一二页| 亚洲人成在线播放网站岛国| 成人精品一区二区三区中文字幕 | 国产一区二区不卡| 精品国一区二区三区| 美日韩一区二区三区| 日韩女优视频免费观看| 美脚の诱脚舐め脚责91 | 午夜精品久久久久久久久| 在线免费观看日本一区| 亚洲黄色小视频| 91黄色免费看| 亚洲国产成人av网| 欧美精品第1页| 三级不卡在线观看| 欧美一区二区三区视频免费 | 免费在线观看一区二区三区| 欧美精品亚洲一区二区在线播放| 午夜视黄欧洲亚洲| 91精品国产全国免费观看| 奇米色一区二区三区四区| 51精品久久久久久久蜜臀| 奇米777欧美一区二区| 91精品国产综合久久香蕉麻豆| 免费看日韩精品| 久久麻豆一区二区| 成人黄色在线视频| 精品在线播放免费| 国产乱人伦偷精品视频不卡| 国产精品久久久久永久免费观看| 成人午夜短视频| 亚洲精品你懂的| 91精品国产综合久久国产大片| 精品午夜一区二区三区在线观看| 精品久久国产老人久久综合| 国产高清不卡一区二区| 中文字幕字幕中文在线中不卡视频| 色婷婷av一区二区三区之一色屋| 欧美性视频一区二区三区| 久久影音资源网| 色呦呦国产精品| 美女视频黄免费的久久| 中文字幕国产一区二区| 欧美在线观看视频一区二区 |