专注于云服务器
VPS主机优惠测评
国内免备案虚拟主机

四个方法实现DEDECMS子栏目获取顶级栏目名称

我们有些时候在设计和调用DEDECMS栏目的时候,需要在子栏目中获取顶级栏目的名称。这样应该如何调用设置呢?这里小编找到几个有效的办法,如果有需要的话可以参考使用。

第一、方法1

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

第二、方法2

{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}  

第三、方法3

{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}  

第四、方法4

找到

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']);  }  }  

然后调用方法和上面一样,页面和列表不同方法。

赞(0) 打赏
转载请注明出处:晓波笔记 » 四个方法实现DEDECMS子栏目获取顶级栏目名称
分享到: 更多 (0)
megalayer云服务器

raksmart云服务器

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

晓波笔记-VPS主机,云服务器优惠促销测评

QQ:87304394

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏