织梦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 } (编辑:开发网_开封站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |