DEDECMS子栏目获取上级或顶级栏目的名称和URL链接

悟途网 2016年01月16日 22:00 阅读()
字号 (A- A+)

DEDECMS子栏目获取上级或顶级栏目的名称和URL链接

通过织梦建站的朋友都知道,获取DEDECMS子栏目的上级或顶级的名称、对应的URL链接常常会遇到一些问题,悟途网小编就给大家带来如何解决这问题:

1、在DEDE根目录/include/taglib/下找到channel.lib.php文件找到

else if($type=='self')

{

if($reid==0) return '';

$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

From `dede_arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";

}

然后,在此段代码下加入如下代码,为{dede:channel}添加父级(parent)栏目属性

else if($type=='parent')

{

$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

From `dede_arctype` where id='$reid' AND ishidden<>1 order by sortrank asc limit 0, $line";

}

然后用下面的就行了

<!--调用当前栏目的顶级栏目名称-->

{dede:channel type='parent' }

[field:typename/]

{/dede:channel}

dede 子栏目获取上级、顶级栏目的名字和链接

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}

下面是顶级栏目的ID【非无限子栏目】

{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[id];}else{$sql = "SELECT `id` FROM `dede_arctype` WHERE id=$relID";$query = mysql_query($sql);$row=mysql_fetch_array($query); @me = $row[id];}{/dede:field.typeid}

下面是无限子栏目获取顶级栏目资料的方法,不过下面的实例是获取顶级栏目下,的第二个栏目的方法,不过要获取顶级栏目的话,更简单,所做修改即可。

{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];

$jishu;

while($relID != 0){

$jishu = $row[id];

$sql = "SELECT * FROM `dede_arctype` WHERE id=$relID";

$query = mysql_query($sql);

$row=mysql_fetch_array($query);

$relID = $row[reid];

}

$sql = "SELECT * FROM `dede_arctype` WHERE id=$jishu";

$query = mysql_query($sql);

$row=mysql_fetch_array($query);

@me = $row[arcpic];

{/dede:field.typeid}

热门文章
随机推荐
实现dedecms5.7首页和列表页动态调用文章浏览次数

实现dedecms5.7首页和列表页动

在dedecms5.7首页和列表页模板中怎样动态调用文章浏览次...

怎么实现DEDECMS全站伪静态化的方法

怎么实现DEDECMS全站伪静态化

织梦DedeCms全站伪静态的实现方法,有相当一部分站长在...

怎么实现dedecms在首页登录会员功能

怎么实现dedecms在首页登录会

怎么实现dedecms在首页登录会员功能,登录后的显示内容...

DEDECMS的arclist循环中判断第一个li添加css

DEDECMS的arclist循环中判断第

dedecms的arclist循环中,判断如果是第一个li,则添加固定...

实现更新DEDECMS文章时同时发布到新浪微博

实现更新DEDECMS文章时同时发

实现更新DEDECMS文章时同时发布到新浪微博,现在的微博...

教你修改DEDECMS网站安全 移动或者更改data

教你修改DEDECMS网站安全 移

data目录路径更改在DedeCMS V5.7中用户也可以设定data目录...

DEDECMS删除文档同时文章中的图片的方法

DEDECMS删除文档同时文章中的

如何解决DEDECMS织梦系统在删除文档不同时文章中的图片...

DEDECMS标签tag显示每个tag相应的文章数量

DEDECMS标签tag显示每个tag相应

我们在进行织梦dedecms模板设计的时候,想实现类似于...