DedeCMS织梦channelartlist标签实现调用顶级栏目及内容列表

      最近建站的时候遇到了一点问题,新建的站点只有PC端,没有移动端,因此要自己去修改移动端模板,在修改过程中为了精简代码,我找到了channelartlist 标签,这个标签全局都可使用,可以减少多次使用 {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 ";

希望以上内容能够对你产生帮助,如有其他问题请在文末留言!

内容版权声明:除非注明,否则皆为SEO博客原创文章。

姜成SEO技术交流群

转载注明出处:https://www.seoblogs.cn/seojc/2018633.html

跟大家分享一下你的看法吧!
  • 全部评论(0
    还没有评论,快来抢沙发吧!