DedeCMS用channelartlist调用顶级栏目及列表

     这个标签全局都可使用,可以减少多次使用 {dede:arclist typeid=‘栏目ID’titlelen='60' row='10'}。除了宏标记外,{dede:channelartlist}是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套{dede:type}{/dede:type}和{dede:arclist}{/dede:arclist}两个标记。{dede:channelartlist}和{dede:arclist}嵌套使用能同时调用顶级栏目或该栏目的下级栏目的文章,再嵌套下下级栏目需要二次开发。

       官方对该标签的案例讲解有错误,下面笔者纠正过来。

基本语法:
01{dede:channelartlist row='10'}
02<dl>
03 <dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt>/*调用频道名*/
04 <dd>
05  {dede:arclist titlelen='60' row='10'}
06     <li><a href="[field:arcurl /]">[field:title /]</a></li>/*调用文章标题*/
07  {/dede:arclist}
08 </dd>
09</dl>
10{/dede:channelartlist}

   

如果只要调用其中几个频道的内容可以用{dede:channelartlist typeid='1频道ID,2频道ID,3频道ID'} 。不想调用某个频道那就设置该频道属性隐藏即可。

上面的写法只能在首页用,子页要改成
 

01{dede:channelartlist row='10' typeid='top'}
02<dl>
03 <dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt>/*调用频道名*/
04 <dd>
05  {dede:arclist titlelen='60' row='10'}
06     <li><a href="[field:arcurl /]">[field:title /]</a></li>/*调用文章标题*/
07  {/dede:arclist}
08 </dd>
09</dl>
10{/dede:channelartlist}


channelartlist不能获取顶级栏目属性为外部链接的解决办法

       channelartlist是不能获取顶级栏目为外部链接的,这不够灵活,打开include/taglib/channellist.lib.php,找到

$tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 ";

       修改为

$tpsql = " reid=0 AND ishidden<>1 AND channeltype>0 ";

 

AiteCms,企业模板快速建站专家,点击了解更多

 

转载自织梦模板教程(www.dede58.com

转载于:https://www.cnblogs.com/dede58/p/7120061.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值