• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    dede在任一子级栏目获取顶级栏目名称 typename,包括该顶级栏目下
    POST TIME:2021-05-24 03:11

    找到 include/taglib/type.lib.php , 复制,  重命名为 toptype.lib.php

    查找 function lib_type(&$ctag,&$refObj)

    修改为:

    function lib_toptype(&$ctag,&$refObj)

    查找 $row = $dsql->GetOne

    注释掉 //$row = $dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$typeid' ");

    添加3行:

    $topid=$dsql->GetOne("Select topid From `dede_arctype` where id='$typeid' ");
    $topid=$topid['topid'];
    $row=$dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$topid' ");

    模板调用: {dede:toptype}[field:typename/]{/dede:toptype}

    修改后的toptype.lib.php

    <?php
     
    if(!defined('DEDEINC')) exit('Request Error!');
     
    function lib_toptype(&$ctag,&$refObj)
    {
        global $dsql,$envs;
     
        $attlist='typeid|0';
        FillAttsDefault($ctag->CAttribute->Items,$attlist);
        extract($ctag->CAttribute->Items, EXTR_SKIP);
        $innertext = trim($ctag->GetInnerText());
     
        if($typeid==0) {
            $typeid = ( isset($refObj->TypeLink->TypeInfos['id']) ? $refObj->TypeLink->TypeInfos['id'] : $envs['typeid'] );
        }
     
      if(empty($typeid)) return '';
     
        //$row = $dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$typeid' ");
     
        $topid=$dsql->GetOne("Select topid From `dede_arctype` where id='$typeid' ");
        $topid=$topid['topid'];
        $row=$dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$topid' ");
        
        if(!is_array($row)) return '';
        if($row['topid']==0){$row['topid']=$row['id'];}
        if(trim($innertext)==''$innertext = GetSysTemplets("part_type_list.htm");
        
        $dtp new DedeTagParse();
        $dtp->SetNameSpace('field','[',']');
        $dtp->LoadSource($innertext);
        if(!is_array($dtp->CTags))
        {
            unset($dtp);
            return '';
        }
        else
        {
            $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
            foreach($dtp->CTags as $tagid=>$ctag)
            {
                if(isset($row[$ctag->GetName()])) $dtp->Assign($tagid,$row[$ctag->GetName()]);
            }
            $revalue $dtp->GetResult();
            unset($dtp);
            return $revalue;
        }
    }

     

    ?>

    如果想获取任一栏目的上级栏目,可将topid---->改为--->reid,最后记得改函数名和文件名

    retype.lib.php

    <?php
     
    if(!defined('DEDEINC')) exit('Request Error!');
     
    function lib_retype(&$ctag,&$refObj)
    {
        global $dsql,$envs;
     
        $attlist='typeid|0';
        FillAttsDefault($ctag->CAttribute->Items,$attlist);
        extract($ctag->CAttribute->Items, EXTR_SKIP);
        $innertext = trim($ctag->GetInnerText());
     
        if($typeid==0) {
            $typeid = ( isset($refObj->TypeLink->TypeInfos['id']) ? $refObj->TypeLink->TypeInfos['id'] : $envs['typeid'] );
        }
     
      if(empty($typeid)) return '';
     
        //$row = $dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$typeid' ");
     
        $reid=$dsql->GetOne("Select reid From `dede_arctype` where id='$typeid' ");
        $reid=$reid['reid'];
        $row=$dsql->GetOne("Select id,reid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$reid' ");
        
        if(!is_array($row)) return '';
        if($row['reid']==0){$row['reid']=$row['id'];}
        if(trim($innertext)=='') $innertext = GetSysTemplets("part_type_list.htm");
        
        $dtp = new DedeTagParse();
        $dtp->SetNameSpace('field','[',']');
        $dtp->LoadSource($innertext);
        if(!is_array($dtp->CTags))
        {
            unset($dtp);
            return '';
        }
        else
        {
            $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
            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:retype}[field:typename/]{/dede:retype}

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!