网站地图    收藏   

主页 > 后端 > dedecms >

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

来源:未知    时间:2019-07-17 19:58 作者:小飞侠 阅读:

[导读] 这个标签全局都可使用,可以减少多次使用 {dede:arclist typeid=‘栏目ID’titlelen=60 row=10}。除了宏标记外,{dede:channelartlist}是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套{dede...

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


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


基本语法:


{dede:channelartlist row='10'}
<dl>
<dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt>/*调用频道名*/
<dd>
  {dede:arclist titlelen='60' row='10'}
     <li><a href="[field:arcurl /]">[field:title /]</a></li>/*调用文章标题*/
  {/dede:arclist}
</dd>
</dl>
{/dede:channelartlist}

   


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


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

 


{dede:channelartlist row='10' typeid='top'}
<dl>
<dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt>/*调用频道名*/
<dd>
  {dede:arclist titlelen='60' row='10'}
     <li><a href="[field:arcurl /]">[field:title /]</a></li>/*调用文章标题*/
  {/dede:arclist}
</dd>
</dl>
{/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 ";


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论