云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

如何在DedeCMS中使用{dede:channelartlist}标签来调用栏目序号?

在织梦CMS中,可以使用{dede:channelartlist}标签的typeid属性来调用特定栏目的文章列表。,,“,{dede:channelartlist typeid='1' numclass='3'},[field:title/],{/dede:channelartlist},“,,typeid属性用于指定要调用的栏目ID,numclass属性用于设置每行显示的文章数量。在上述示例中,将调用ID为1的栏目中的3篇文章,并以标签包裹标题输出。

Dede织梦 {dede:channelartlist}标签栏目序号调用方法

DedeCMS(织梦内容管理系统)中,{dede:channelartlist}标签是一个非常强大的工具,用于在模板中调用栏目分类并排序,本文将详细讲解如何使用该标签实现栏目的序号调用,并提供相关FAQs以解答常见问题。

基本用法

1、基本语法

   {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}

2、参数说明

row='10':表示每次循环显示的栏目数量,默认为20。

typeid='':指定要显示的栏目ID,可以用逗号分隔多个ID。

cacheid='':标签缓存ID,通常为空。

栏目序号调用方法

要在{dede:channelartlist}标签中实现栏目序号的调用,可以使用以下两种方法:

1、使用全局变量autoindex

   {dede:channelartlist typeid='top' row='10'}
       [field:global runphp='yes' name=autoindex](@me==0)?@me=1:@me=@me+1;[/field:global]
       <dl>
           <dt><span class="serialnumber">[field:autoindex/]</span><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}

2、使用全局变量itemindex

   {dede:channelartlist typeid='top' row='10'}
       {dede:global.itemindex runphp='yes'}(@me==1)?@me='class="ztb_on"':@me='';[/field:itemindex]
       <dl>
           <dt><span class="serialnumber">[field:itemindex/]</span><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}

表格对比

方法 代码示例 特点
autoindex [field:global runphp=’yes’ name=autoindex](@me==0)?@me=1:@me=@me+1;[/field:global] 从1开始计数
itemindex {dede:global.itemindex runphp=’yes’}(@me==1)?@me=’class=”ztb_on”‘:@me=”;[/field:itemindex] 可以自定义样式和初始值

FAQs

问题一:如何修改channelartlist标签使其按typeid顺序输出?

答:可以通过修改DedeCMS的核心文件来实现,打开include/taglib/channelartlist.lib.php文件,找到大约在第78行的位置,将原来的查询语句:

$dsql>SetQuery("SELECT id,typeid");

修改为:

$dsql>SetQuery("SELECT id,typeid ORDER BY FIELD(id, ".$typeids.")");

这样就可以使{dede:channelartlist}标签按照指定的typeid顺序进行输出。

问题二:如何在首页以外的页面正确调用频道及其子栏目?

答:在非首页页面调用时,需要确保typeid参数不为空,在列表页或内容页调用时,可以使用如下代码:

{dede:channelartlist 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}

如果只需要调用某些特定频道的内容,可以使用typeid参数指定具体的频道ID,用逗号分隔即可。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《如何在DedeCMS中使用{dede:channelartlist}标签来调用栏目序号?》
文章链接:https://www.yunzhuji.net/internet/255573.html

评论

  • 验证码