淺談dedecms模板引擎工作原理及自定義標簽,dedec
導讀:dedecmsdedecms理解織夢模板引擎有什么意義?一方面可以更好地自定義標簽。更多在于了解織夢系統,理解模板引擎是理解織夢工作原理的第一步。理解織夢會使我們寫php代碼時更順手,同時dede模板下載手機模板dede。
理解織夢模板引擎有什么意義?一方面可以更好地自定義標簽。更多在于了解織夢系統,理解模板引擎是理解織夢工作原理的第一步。理解織夢會使我們寫php代碼時更順手,同時能學習一些php代碼的組織方式。
這似乎不是那么簡單,如果你只想學習自定義標簽,可以看一下“是否需要自定義標簽”和““擴展標簽””就夠了。
一解析式引擎
如果你還沒用過dedecms的標簽,先用一下,也可以看一下“dedecms網頁模板編寫”。熟悉一下memberlist這個標簽,下面會以這個標簽為例。
織夢提供的模板分析引擎有解析式和編譯式兩種,由于現在主要使用前者,這里也只討論前者。
先來寫個模板解析的hello world 程序
***root/test.php 封面php(root指的是根目錄,以下都假設dedecms被放在了網站的根目錄)
<?php require_once (dirname(__file__).'/include/common.inc.php'); //利用解析式模板所需的文件 require_once (dirname(__file__).'/include/dedetag.class.php'); //生成解析模板引擎類對象 $dtp=new DedeTagParse(); //設置命名空間,由于下面的標簽用tianya命名空間,所以要設置一下。 $dtp->SetNameSpace('tianya'); $dtp->LoadTemplate(dirname(__file__).'\test.tpl.htm '); //把標簽替換成具體的值 foreach ($dtp->CTags as $id=>$tag) { if($tag->GetName()=='my') //把id為$id的tag翻譯成這是my標簽<br/> $dtp->Assign($id,'這是my標簽<br/>'); else if($tag->GetName()=='test') $dtp->Assign($id,'這是test標簽<br/>'); } //把解析好的html文本echo出來 $dtp->Display(); ?>***root/test.tpl.htm 網頁模板
{tianya:my att1=1 att2='2'} [field:my/] {/tianya:my} {tianya:test att1=1 att2='2'} [field:test/] {/tianya:test}執行root/test.php就能查看結果
由上面的例子可以看出解析式模板運作的套路:
1php文件調用網頁模板,并顯示。
2htm文件提供網頁的大體框架,等待數據來完善網頁的具體內容,稱為網頁模板。
上面的代碼就是把第一個標簽(my標簽)顯示為這是my標簽<br/>;第二個標簽顯示為這是test標簽<br/>。
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-07-18 ,文章淺談dedecms模板引擎工作原理及自定義標簽,dedec主要講述標簽,自定義,dedecms網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_29262.html