当前位置:

追梦者模板网 > 建站教程 > 织梦教程 >
  • 织梦教程

    织梦dedecms子栏目获取顶级栏目名称

    发布时间:2016-11-21 浏览量:

    dedecms5.7获取顶级栏目名称的标签,下面是调用顶级栏目名称的方法:

    方法一:

    
    //追梦者模板收集资源
    {dede:field.typeid runphp=’yes’}$ID = @me; 
    $sql = “SELECT * FROM `dede_arctype` WHERE id=$ID”;
    $query = mysql_query($sql);$row=mysql_fetch_array($query); 
    $relID = “$row[reid]“; if($relID == 0) {@me = $row[typename];}
    else{$sql = “SELECT `typename` FROM `dede_arctype` WHERE id=$relID”;
    $query = mysql_query($sql);$row=mysql_fetch_array($query); 
    @me = $row[typename];}{/dede:field.typeid}
    
    

    这个方法语句有些长。

    方法二:

    
    //追梦者模板收集资源
    {dede:field.title  runphp='yes'}
    list($toptype,$sontype)=split('/',@me);@me=$toptype;
    {/dede:field.title}
    
    

    方法三:

    
    //追梦者模板收集资源
    {dede:field.typeid runphp='yes'}
    $ID = @me; $sql = "SELECT * FROM `dede_arctype` WHERE id=$ID";
    $query = mysql_query($sql);$row=mysql_fetch_array($query); 
    $relID = "$row[reid]"; $topID="$row[topid]"; 
    if($relID == 0) {@me = $row[typename];}
    else{$sql = "SELECT `typename` FROM `dede_arctype` WHERE id=$topID";
    $query = mysql_query($sql);$row=mysql_fetch_array($query); 
    @me = $row[typename];}{/dede:field.typeid}
    
    

    方法四(推荐):

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

    
    //追梦者模板收集资源
    /**
     *  获取指定栏目id的顶级栏目的名称
     *
     * @return     string
     */
    if ( ! function_exists('getTopChannelName'))
    {
    function getTopChannelName($id) {
       global $dsql;
            $typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
            if($typeinfo['reid']==0) return $typeinfo['typename'];
            else return getTopChannelName($typeinfo['reid']);
    }
    }
    
    

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

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

    附带获取顶级栏目的url:

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

    
    //追梦者模板收集资源
    /**
     *  获取指定栏目id的顶级栏目的url
     *
     * @return     string
     */
    if ( ! function_exists('getTopChannelUrl'))
    {
    function getTopChannelUrl($id) {
       global $dsql;
            $typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
            if($typeinfo['reid']==0) return GetOneTypeUrlA($typeinfo);
            else return getTopChannelUrl($typeinfo['reid']);
    }
    }
    
    

    使用方法同上。

返回列表

上一篇

下一篇

联系电话
135-8051-0988
周一至周五9:00-20:00
公司邮箱
1019585925@qq.com
周一至周五9:00-20:00
1019585925
周一至周五9:00-20:00
公司地址
广州市天河区
广州市天河区迎龙路161号
关注微信
扫描关注微信