• 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}
    
  • 相关阅读:
    node分离路由文件
    node项目搭建步骤
    在express获取POST(类似表单请求)的数据
    10分钟搭建Kubernetes容器集群平台(kubeadm)
    今日考题
    jQuery方法介绍
    JQuery练习题
    今日面试题:
    bom操作,事件与jquery
    今日理解之js
  • 原文地址:https://www.cnblogs.com/jkko123/p/6294720.html
Copyright © 2020-2023  润新知