浅谈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网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_29262.html