您好,欢迎来到菜鸟吧源码网-本站资源仅供学习与参考,禁止用于商业或违法行为!
  • 首 页
  • 下载APP
  • 公告:菜鸟吧APP于2024.9.15正式上线,请首页右上角进入下载,本站资源均来源于互联网及会员投稿发布,所有资源仅供学习参考研究使用,请勿商用或其它非法用途,商用请购买正版,否则产生一切后果由用户自行承担!谢谢!

     

    当前位置:主页 > 站长学堂 > dede教程 >
    dede在任一子级栏目获取顶级栏目名称 typename,包括该顶级栏目下
    时间:2020-02-27 11:47 作者:菜鸟哥 浏览:收藏 挑错 打印

    找到 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!');
    functionlib_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= newDedeTagParse();
    $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!');
    functionlib_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= newDedeTagParse();
    $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}

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
    我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法下载,联系站长索要。
    如有侵犯您的版权,请给我们来信:cainiaovip8@qq.com,我们尽快处理。

    织梦中TAG标签字数长度限制解决方法织梦中TAG标签字数长度限制解决方法
    织梦后台突然打不开或打开后空白的解决方法织梦后台突然打不开或打开后空白的解决
    织梦系统解决后台“DEDECMS安全提示”的方法织梦系统解决后台“DEDECMS安全提示”