找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 118|回复: 0

[cms教程] 子栏目调用父级栏目名称方法

[复制链接]

该用户从未签到

发表于 2020-8-10 18:02:11 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
子栏目调用父级栏目名称方法
         
        下面是调用顶级栏目名称的方法:
        方法一:
         
        {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',);
        }
        }
        使用方法同上。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-7 22:20

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表