zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    3个检测浏览器UserAgent信息的网站
    linux系统下配置网桥(CentOS 5.5)
    squid封禁不带UserAgent的请求
    iptables透明网桥无法使用透明代理错误
    Squid修改用户浏览器的Useragent信息
    MySQL主从复制(MasterSlave)与读写分离(MySQLProxy)实践
    js中格式化时间
    js获取当前月的第一天和最后一天
    JS String.toDate
    Js获取当前日期时间及其它操作
  • 原文地址:https://www.cnblogs.com/dede58/p/7120061.html
Copyright © 2011-2022 走看看