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

有时候我们会在列表页或者内容详情页调用指定的顶级栏目名称及链接,试了很多方法,有的只能调用所有顶级栏目或者是该频道下面的子栏目,实在是让人感到费解。。下面说说各种栏目名称的调用方法:

 1、{dede:field name="typename"} 这是调用当前栏目的名称
 2、{dede:channel type=‘son‘ row=‘5‘} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:channel} 这是调用该顶级频道下所有字栏目,row代表调用5条
 3、{dede:type typeid=‘栏目id‘} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:type} 表示调用指定id的栏目,不过只能调用一个,要想多个调用就只能重复多次调用该标签
4、 {dede:channel type=‘top‘}<a>[field:typename/]</a> {/dede:channel}调用子栏目的当前顶级栏目名称

下面是调用顶级栏目名称的方法:
方法一:

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

这个方法语句有些长。
织梦者重点推荐方法二
方法二:

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

方法三:

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

这个方法是改良过的,可以针对无限子栏目获取顶级栏目,方法一二都是针对二级栏目。

时间: 2024-11-09 18:48:50

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

织梦调用栏目、栏目内容代码

dedecms调用顶级栏目 {dede:channel type='top' currentstyle="<li class='on'><a href='~typelink~' ~rel~>~typename~</a></li>"} <li><a href='[field:typeurl/]' [field:rel/]>[field:typename/]</a></li> {/dede:ch

织梦调用摘要

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

dedeCMS中单独调用子栏目模板和子栏目的文章时修改源代码给channel和chanenartllist加上limit

在网站文件中找到include-taglib-chanel.lib.php,和chaneartllist.lib.php 下载用php的IDE打开, chanel.php加入limit属性修改如下 <?php /** * 获取栏目列表标签 * * @version $Id: channel.lib.php 1 9:29 2010年7月6日Z tianya $ * @package DedeCMS.Taglib * @copyright Copyright (c) 2007 - 2010, Des

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

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

织梦调用

{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织梦调用自定义表单内容

怎么在前台页面调用dedecms自定义表单的内容呢,其实方法很简单,下面是调用表单的代码 {dede:loop table='dede_sfgame' sort='' row='5'  if='' } <li>[field:ccdec/]</li> {/dede:loop} 其中table='dede_sfgame'中的dede_sfgame就是自定义表单的表名[field:ccdec/]就是中的dedec就是数据字段名sort = '' 用于排序的字段row = '' 返回结果的

Dede织梦系统的一键清空回收站以及批量删除所有文章方法

最近搞dede采集,提起织梦相信大家都不陌生,我在第一次搞采集的时候,由于不会写规则,并且也不是单独的采集一篇文章,而是列表里的文章一次性全部采集,等导出数据的时候,我和小伙伴都惊呆了,采集过来的新闻几乎都是缺胳膊少腿,刚开始也是一篇一篇的删,很是恼火,然而,下面这SQL语句却帮了我大忙,一次性把回收站都清空了. 希望对于和我有同样遭遇的人士有帮助,附上语句: 方法: 后台->系统->SQL命令行工具 中运行: delete dede_addonarticle,dede_archives,de

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

打开文件 /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

织梦调用所有栏目一级二级三级和无限级栏目输出

一级.二级.三级.四级标签嵌套法 <ul> {dede:channelartlist row=7 typeid=top} <!-- 顶级 --> <li class="top"> <a href="{dede:field.typeurl/}" >{dede:field name='typename'/}</a> <ul class="sub"> {dede:channel t