高手向你请教问题啊,织梦dede:channel标签怎样循环指定栏目ID
修改前先做好备份
DEDECMS首页频道channelartlist标签通过typeid属性排序方法: DEDECMS模板
找到\include\taglib\channelartlistlibphp文件,使用DW打开,然后修改第78行 DEDECMS模板
$dsql->SetQuery("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `dede_arctype` WHERE $tpsql ORDER BY sortrank ASC LIMIT $totalnum"); 织梦模板团
修改为
$dsql->SetQuery("Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
from `#@_arctype` where $tpsql order by substring_index( '$typeid',id,1) limit $totalnum"); DEDECMS模板
这样修改了后,就可以通过{dede:channelarclist typeid='2,4,1,3'}对应输出相应栏目的内容了。 DEDECMS模板
这样是很有用处的哦!有时我们就需要这样的修改排序,很不错的方法。
这个问题不难!你是想点进不同的栏目列表页,调用不同的头部是吧,要是这样的话没必要这么做,织梦他会自己识别就像频道页的调用不写id一样,点进不同的栏目他就会显示不同的内容,你的头部导航也可以用标签调用,不写具体id就好,要是因为有需要变换,那就更简单了,同样的不写id,从文章里调用就好,他会自己变。
channelartlist获取当前频道的下级栏目的内容列表标签
基本语法:
{dede:channelartlist row=6}
<dl>
<dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt>
<dd>
{dede:arclist titlelen='42' row='10'} <ul class='autod'>
<li><a href="[field:arcurl /]">[field:title /]</a></li>
<li>([field:pubdate function="MyDate('m-d',@me)"/])</li>
</ul>
{/dede:arclist}
</dl>
{/dede:channelartlist}
参数说明:
typeid = '0' 频道ID,多个请用","分隔
row = '20' 获取的栏目返回值
其他说明:
除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套
{dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist} 两个标记。
底层模板变量:
包含{dede:type}{/dede:type}及{dede:arclist}{/dede:arclist}下面所有底层模板变量。
不是负数,在栏目管理,栏目名称的后面就有一个id,这个ID用 typeid 调用
频道是在内容模型里管理,频道名称的前面也有一个id,这个ID用 channelid调用。
0条评论