织梦调用父级栏目链接和名称

打开文件

/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 `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
}

在其后添加

else if($type=='topone')
{
if($reid==0) return '';
$rowR = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='$typeid' ");
$topids = $rowR['topid'];
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `dede_arctype` WHERE reid='0' And id='$topids' And ishidden<>1 order by sortrank asc limit 0, $line ";
}
else if($type=='fatherlist')
{
$rowR = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='$typeid' ");
$reid = $rowR['reid'];
$rowR = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='$reid' ");
$reid = $rowR['reid'];
$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 type='fatherlist'}[field:typename/]{/dede:channel}
{dede:channel type='topone'}[field:typename/]{/dede:channel}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-10 07:36:41

织梦调用父级栏目链接和名称的相关文章

dede织梦调用顶级二级栏目及下三级栏目方法!

通过dede调用二级栏目大家都会调用,但要调用三级栏目,就有点麻烦了,如下样式的三级栏目dede如何调用呢?如下: ----------------------------------------A级主栏目 +顶级栏目 +二级栏目        +三级栏目(A)        +三级栏目(B)        +三级栏目(C)    +二级栏目        +三级栏目(D)        +三级栏目(E)        +三级栏目(F) -----------------------------

织梦调用指定顶级栏目或当前子栏目名称的方法

有时候我们会在列表页或者内容详情页调用指定的顶级栏目名称及链接,试了很多方法,有的只能调用所有顶级栏目或者是该频道下面的子栏目,实在是让人感到费解..下面说说各种栏目名称的调用方法:  1.{dede:field name="typename"} 这是调用当前栏目的名称 2.{dede:channel type='son' row='5'} <a href="[field:typeurl/]">[field:typename/]</a> {/

织梦列表页获取当前链接和当前分页链接

织梦列表页获取当前链接和当前分页链接 功能描述 兼容静态 动态 伪静态 支持第一页直接是栏目链接,第二页,第三页....按当前分页 支持在开启绝对路径和没开启绝对路径不同输出 实现教程 1.打开 include/arc.listview.class.php 找到 else if($PageNo!=1 && $ctag->GetName()=='field' && $ctag->GetAtt('display')!='') 在它的上面加入 else if($cta

Thinkcmf子栏目获取父级栏目所有子栏目列表

网站建设时经常需要输出某个栏目的子栏目,对应的在子栏目列表页也需要输出父级栏目的子栏目列表,thinkcmf可以输出所有子栏目,但却无法在子栏目列表页也适用, 因此就需要通过对数据库表查询来完成需求: <?php $RS = M('terms')->where(array('term_id'=>$term_id))->find(); $parent = M('terms')->where(array('term_id'=>$RS['parent']))->find

织梦调用摘要

1.列表中需要调用文章摘要的可以{dede:arclist typeid='' titlelen='15' orderby='pubdate' row='3'}<li>·<a href="[field:arcurl/]" title="[field:fulltitle/]">[field:title/]</a><p>[field:description function='cn_substr(@me,110)'/]&l

织梦调用

{dede:global.cfg_webname/}  首页标题{dede:global.cfg_description/} 网站描述{dede:global.cfg_keywords/} 网站关健词{dede:global.cfg_basehost/} 首页栏目调用 <li><a href="{dede:global.cfg_cmsurl/}/">首页</a></li> {dede:channel type='top' row=5}&l

织梦DedeCMS删除所有栏目或文章后,新建ID不从1开始的解决方法

这个修改方法很简单,从模板无忧那里找到的,只需要在后台系统-SQL命令行工具里面运行以下语句即可,不用采用笨方法重新安装织梦CMS了. 删除所有栏目,新建ID从1开始: ALTER TABLE `dede_arctype` AUTO_INCREMENT =1; 删除所有文章,新发布文章ID从1开始: ALTER TABLE `dede_archives` AUTO_INCREMENT =1;

js调用父级frame中的方法

父级frame中的方法: function hideOutline() { $("#outline").hide(); $("#content").attr("style", "width: 97%;"); $(".replyUserList").find("table").attr("style", "left: 35px;"); $("

dedecms织梦调用二级和三级分类标签

dedecms调用二级.三级以及调用栏目所有子栏目 <!--频道分类具体内容开始--> <div class="channel_sort"> {dede:channelartlist cacheid='channelsonlist'} <h3><a href="{dede:field name='typeurl'/}" >{dede:field name='typename'/}</a></h3>