国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > DedeCMS > DedeTag实例讲解:如何构建自己的标签

DedeTag实例讲解:如何构建自己的标签

来源:程序员人生   发布时间:2014-02-26 07:20:21 阅读次数:2947次

DedeCMS如何构建自己的标签?可以在根目录创建个test.php,把下面的代码放进去,然后研究下这个文件的使用.详细的教程其实在帮助中心已经有了,这里只是用一个实例配合讲解下(详细参考>>>)

<?php
require_once (dirname(__FILE__) . "/include/common.inc.php");
require_once (DEDEINC . "/dedetag.class.php");
$dtp = new DedeTagParse();
//print_r($dtp);
//这里引入一个模板,或者你可以去处理一个字符串
//如果处理字符串使用$dtp->LoadSource(字符串);
$dtp->LoadTemplate(dirname(__FILE__)."/tpl.htm");
//print_r($dtp->CTags);
//遍历读取的标签,然后单个的进行标签处理
foreach($dtp->CTags as $tid=>$ctag) {
//print_r($ctag);
//if($ctag->TagName=='go') echo "There is a tag name:go!";
if($ctag->TagName=='go') $dtp->Assign($tid, GoFunc($ctag->GetAtt("name"),$ctag->GetAtt("listtype"),$ctag->InnerText) );
}
//显示解析后的页面
$dtp->display();
//将解析后的页面存储到文件
$dtp->saveto(dirname(__FILE__)."/make.html");

//这个是标签处理函数,用于返回替换值
function GoFunc($name,$listtype,$innertext)
{
return "Name:".$name.",Listtype:".$listtype.",Innertext:".$innertext;
}
当然这里tpl.htm是下面的内容

{dede:go name='good' Listtype='asc'}
this is innertxt[field:bbg/]
{/dede:go}
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
为码而活
积分:4237
15粉丝
7关注
栏目热点
关闭
程序员人生