织梦dedecms还是比较不错的,当然,除了论坛的技术回复速度!!今天分享一个比较实用的关于循环调用子栏目及其内容列表的小代码,其实查看标签手册也能看到,但毕j # u .竟还是有懒人存在的!
根据标签手册,在织梦(DedeC8 g D kMS)系统中,可以用 channelartlist 标签进行循环子栏目及其栏目数据,据说,它也是织梦(DedeCMS)系统中唯一d w j 8 % ?一个支持标签嵌^ M p q / + 0套的调用标签,基本用法如下,可根据需要修改:
<3 * 5 0 # i S rdiv] Y I _ / & v>
{dede:channelartlist}
<dl>
<dt><strong><a href="http://www.dede58.com/a/dedejq/{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></strong><span><a href="http://www.d0 Z I .ede58.com/a/N i v o Vdedejq/{{ a M U 0 S N idede:field name='typeud n j F 9 prl'/}">更多...</a></span></dt>
<dd>
<ul>
{dede:arclist titlelen='60' row='8'}
<li><span>[field:pubdate function="MyDate('m-d',@me)'/]</span><a href="http://www.dede58.com/a/dedejq/[field:arcurl /]">0 , Y t F;[field:title /]</a></li>
{/deV V , _ 9 [de:arclist}
</ul>
</dd>
</dl>
{/dede:channelartlist}
</div>
上述代码在首页可实现子栏目及子栏目内容列表的调用!下面说说 channelartlist 标签在列表页及内容页的使用。
1、参数简介
channelartlist 标签暂时支持三个参数,分别为:
typeid=’0′ 限制上级栏目ID;也可以用top,支持“,”表示多个栏目
row=’20’ 循环的栏目C b m e数量,默认为20;
cacha | 1 U Z $eid = ” 标签缓存ID,一般为空
但如果你只是将上述代码原封不动的复制粘贴到终极栏目页或内容页,是不会出现任何调用结果的,因为在标签 channelartlist 中,当typeid为空,则表示当前栏目,但是终极栏目列表和内容页是没有下级栏目的,所以就会出错!
2、调用实例
在终极列表页或内容页,正确的调用方法应该是以下的:
{dede:channelartlist tQ q ,ypeid=’top’}
这里是typied=’top’,这i w ( h个top值可以换为你想要的上级栏目ID,但绝对是不可以为空的。这个大家一定要注意z Q ; F
3、栏目高亮、特效调用
在该标签下,可以直接分别用 {dede:field name=’typename’/}与{dede:field name=’typeurl’\ & _ { w p B b R/}来表示栏目名称与栏目链接的,当然还有一些其它V # \ l 4 Z e e \特殊的变量,这里也介绍一下,如:
{dede:i F d 7 = s cfield name=’id’/}与r j 3 L R D l / |{dede:field name=’typeid’/} 均表示循环中的栏目ID5 e C R I 6 { K S
{dede:global name=’itemindex’} 表示循环递增变量,从1开始;
{dede:global naZ } n ] y X + 1 0me=’itemparity’} 表示循环魔法变量,单数为1,双数为8 v v2;
以上就是可以在c, – 6 W ~hannelartlist中直接套用的,特别要注意的是第2、3两个,拥有这两个变量,可以轻松^ $ q + ~ ]制作出各类非常个性的效果,例b r d如栏目的l ) B x 3 ~ _ 0隔行变色等。
关于这个栏目高亮,在 channelartlist.lib.php 并没有自带,但通v S $ # ) * g Z L过以下DIY可实现让( U 6 j x当前栏目进行高亮。方法(以dedecms 5.6为例):
打开channelartlist.lib.php文件,找到如下代码:
$pv->Fields[‘typeurl’] = GeF L : $ ) qtOneTypeUrlA($typeids[$i]);
在其下一行加入一下代码:
if($typeids[$i][‘id’] == $refObj->TypeLink->TypeInfN U w c v { ( 6os[‘id’]){
$pv->Fields[‘currentstyle’] = ‘ id=”pic_focus”‘;
}else{
$pv->Fields[‘currentstyle’] = ”;
}
然后,就可以在模板中进行使用{dede:field name=’currentstyle’/}进行调用了4 g A s 7 0 ~

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习k B u z { m S b与参考* # . Y G t,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注