加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

织梦dedecms子栏目获取顶级栏目名称和链接技巧

发布时间:2022-09-03 09:17:06 所属栏目:经验 来源:互联网
导读: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); 0
  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
   
  09
  else{$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
   
  3
  list($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
   
  09
  if($relID == 0) {@me = $row[typename];}
  10
   
  11
  else{$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
   * @return     string
  06
   
  07
   */
  08
   
  09
  if ( ! function_exists('getTopChannelName'))
  10
   
  11
  {
  12
   
  13
  function getTopChannelName($id) {
  14
   
  15
     global $dsql;
  16
   
  17
          $typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
  18
   
  19
          if($typeinfo['reid']==0) return $typeinfo['typename'];
  20
   
  21
          else return getTopChannelName($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
  * @return     string
  02
   
  03
   */
  04
   
  05
  if ( ! function_exists('getTopChannelUrl'))
  06
   
  07
  {
  08
   
  09
  function getTopChannelUrl($id) {
  10
   
  11
     global $dsql;
  12
   
  13
          $typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
  14
   
  15
          if($typeinfo['reid']==0) return GetOneTypeUrlA($typeinfo);
  16
   
  17
          else return getTopChannelUrl($typeinfo['reid']);
  18
   
  19
  }
  20
   
  21
  }

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读