您好,欢迎来到菜鸟吧源码网(www.cniao8.com)本站只做精品网站源码!
  • 首 页
  • 菜鸟云
  • 公告:本站资源均来源于互联网及会员投稿发布,所有资源仅供学习参考研究使用,请勿商用或其它非法用途,商用请购买正版,否则产生一切后果由用户自行承担!谢谢!

     

    当前位置:主页 > 站长学堂 > dede教程 >
    织梦dedecms子栏目获取顶级栏目名称和链接方法
    时间:2020-07-31 21:07 作者:菜鸟吧 浏览:收藏 挑错 打印

    dedecms5.7获取顶级栏目名称的标签

    下面是调用顶级栏目名称的方法

    方法一:

    01{dede:field.typeid runphp=’yes’}$ID = @me;
    02
    03$sql = “SELECT * FROM `dede_arctype` WHERE id=$ID”;
    04
    05$query = mysql_query($sql);$row=mysql_fetch_array($query);
    06
    07$relID = “$row[reid]“; if($relID == 0) {@me = $row[typename];}
    08
    09else{$sql = “SELECT `typename` FROM `dede_arctype` WHERE id=$relID”;
    10
    11$query = mysql_query($sql);$row=mysql_fetch_array($query);
    12
    13@me = $row[typename];}{/dede:field.typeid}

    这个方法语句有些长。


    方法二:

    1{dede:field.title  runphp='yes'}
    2
    3list($toptype,$sontype)=split('/',@me);@me=$toptype;
    4
    5{/dede:field.title}


    方法三:

    01{dede:field.typeid runphp='yes'}
    02
    03$ID = @me; $sql = "SELECT * FROM `dede_arctype` WHERE id=$ID";
    04
    05$query = mysql_query($sql);$row=mysql_fetch_array($query);
    06
    07$relID = "$row[reid]"; $topID="$row[topid]";
    08
    09if($relID == 0) {@me = $row[typename];}
    10
    11else{$sql = "SELECT `typename` FROM `dede_arctype` WHERE id=$topID";
    12
    13$query = mysql_query($sql);$row=mysql_fetch_array($query);
    14
    15@me = $row[typename];}{/dede:field.typeid}


    方法四(推荐):

    打开include/helpers/extend.helper.php,添加一个函数:

    /**

    01*  获取指定栏目id的顶级栏目的名称
    02
    03*
    04
    05* @returnstring
    06
    07*/
    08
    09if( ! function_exists('getTopChannelName'))
    10
    11{
    12
    13functiongetTopChannelName($id) {
    14
    15global $dsql;
    16
    17$typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
    18
    19if($typeinfo['reid']==0) return$typeinfo['typename'];
    20
    21elsereturngetTopChannelName($typeinfo['reid']);
    22
    23}
    24
    25}

    在列表页这么使用:{dede:field name='id'  function='getTopChannelName(@me)'/}

    在内容页这么使用:{dede:field name='typeid'  function='getTopChannelName(@me)'/}


    附带获取顶级栏目的url:

    打开include/helpers/extend.helper.php,添加一个函数:

    /**

    *  获取指定栏目id的顶级栏目的url

    *

    01* @returnstring
    02
    03*/
    04
    05if( ! function_exists('getTopChannelUrl'))
    06
    07{
    08
    09functiongetTopChannelUrl($id) {
    10
    11global $dsql;
    12
    13$typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
    14
    15if($typeinfo['reid']==0) returnGetOneTypeUrlA($typeinfo);
    16
    17elsereturngetTopChannelUrl($typeinfo['reid']);
    18
    19}
    20
    21}

    使用方法同上。

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

    织梦中{dede:channel}无法调用隐藏栏目解决方法织梦中{dede:channel}无法调用隐藏栏目
    DEDECMS批量导入excel数据到后台文章系统的开发教程DEDECMS批量导入excel数据到后台文章系
    织梦58织梦模板加固版教程详解织梦58织梦模板加固版教程详解