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

在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
在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 子栏目获取上级、顶级栏目的名字和链接
 
上面的方法当 当前栏目就是顶级栏目时候会失效,所以需要用到下面的方法【非无限子栏目】
 
{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}
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

织梦DEDECMS 栏目文章文章命名规则修改, 每次添加栏目的时候 都要改文章命名规则,十分麻烦, 修改下面这个地方就可以一改永亦,织梦模板网为您解答 找到\include\common.inc.php 搜索 $cfg_df_namerule 把: $cfg_df_namerule = {typedir}/{Y}/{M}{D}/{aid
当我们通过{dede:arclist keyword=关键词}来调用文章列表时,你会发现只在其中一个栏目里生效,在其他栏目,仍然显示上一次的关键词。 原因是由于arclist的缓存导致的。 只需修改/include/taglib/arclist.lib.php文件,大概在384行: $taghash = md5(seriali
我们在使用织梦dedecms数据库内容替换时候,经常遇到 安全码 显示的无法识别或者不清晰,这个安全码的位置是在核心 - 批量维护 - 数据库内容替换,如果识别不了,这个页面还没有改变验证码的地方,只能重新刷新页面,如果我们不想要这个安全码的话,要怎么操
今天一个客户在安装织梦dedecms时候,安装完成后登录后台就出现Safe Alert Request Error step 2,常用dedecms的朋友都知道,这是织梦的安全机制,在程序觉得有sql注入等攻击时候,会有这种提示。 1、起初我以为是文件没传全,让这个朋友重新传了文件上去安
dede织梦搜索伪静态,伪静态设置成功后,访问URL地址效果如下: 搜索页 http://www.baidu.com/search/织梦.html 搜索分页 http://www.baidu.com/search/织梦-2.html 本教程也适用于手机端。 开启伪静态: 后台-系统参数-核心设置-开启伪静态 后台-系统参数-
在使用 织梦模板 建站中,随机数作为一个偶尔使用到的参数,在具体使用中虽然用的少,但是今天跟版网小编给大家介绍下,大家可以参考下: 实现随机数的调用可以使用下面的js: 方法一:js代码 Math.rondom()*(m-n)+n; //生成在n到m之间的整数 但如果要用随机