zoukankan      html  css  js  c++  java
  • dede自定义标签

    在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}
    
  • 相关阅读:
    计算系数
    N皇后问题
    矩阵取数游戏
    过河卒
    经营与开发
    软件开发记录01
    搭建android开发环境
    软件工程结对作业01
    学习总结和教师评价
    站立会议14
  • 原文地址:https://www.cnblogs.com/jkko123/p/6294720.html
Copyright © 2011-2022 走看看