在dede安装目录下的include/taglib下创建标签文件,比如mytest.lib.php。(必须以.lib.php为后缀) <?php if(!defined('DEDEINC')) exit('Request Error!'); //自定义标签名以lib_开头 function lib_mytest(&$ctag,&$refObj) { //操作数据库的全局对象 global $dsql; //获取自定义标签的属性值,属性可自定义 $id = $ctag->GetAtt('id'); $sql = "select * from #@__archives where id={$id}"; //设置查询语句 $dsql->SetQuery($sql); //获取一条结果 $row = $dsql->GetOne(); //获取标签内的文本 $Innertext = trim($ctag->GetInnerText()); $dtp = new DedeTagParse(); $dtp->SetNameSpace('field','[',']'); //加载文本 $dtp->LoadSource($Innertext); if(!is_array($dtp->CTags)) { unset($dtp); return ''; } else { //循环标签,并赋值 foreach($dtp->CTags as $tagid=>$ctag) { if(isset($row[$ctag->GetName()])) $dtp->Assign($tagid,$row[$ctag->GetName()]); } //获得最终结果 $revalue = $dtp->GetResult(); unset($dtp); return $revalue; } } 在dede模板文件就可以使用我们自定义的标签mytest了: {dede:mytest id="1"} [field:title/] {/dede:mytest}
版权声明:博主文章,可以不经博主允许随意转载,随意修改,知识是用来传播的。