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}
    
  • 相关阅读:
    Java 类和Static关键字
    算法与数据结构实验题 6.4 Summary
    Django-----vue结合上传图片
    Django----模板继承&过滤器
    Django-----多对多示例查询
    Django-----验证码
    Django-----序列化--jwt
    Django-----文件配置
    Django-----删除--批量删除
    Django-----图文混排
  • 原文地址:https://www.cnblogs.com/jkko123/p/6294720.html
Copyright © 2011-2022 走看看