dede me循环

99ANYc3cd6
预计阅读时长 17 分钟
位置: 首页 DEDE建站 正文

{dede:arclist} 标签的基本结构

{dede:arclist 
    flag='h' 
    typeid='1,2,3' 
    row='10' len='30'
}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
    </li>
{/dede:arclist}

结构解析:

  1. {dede:arclist ...}: 这是循环的开始标签,所有的属性(参数)都在这里设置。
  2. <li>...</li>: 这是循环输出的每一项的 HTML 结构,你可以根据需要自由定义,<div><article> 等。
  3. [field:xxx/]: 这是字段标签,用于在循环体内获取当前文章的某个具体信息,比如标题、链接、发布时间等。
  4. {/dede:arclist}: 这是循环的结束标签,必不可少。

常用属性(参数)详解

属性用来控制你想要调用什么样的文章,下面是最常用的一些属性:

属性名 作用 示例
typeid 指定栏目ID,只调用指定栏目及其子栏目下的文章。 typeid='1' (调用栏目ID为1的文章)
typeid='1,2' (调用栏目ID为1和2的文章)
typeid='top' (调用顶级栏目)
row 调用文章数量,设置要输出的文章列表条数。 row='5' (只输出5条文章)
infolen 摘要长度,设置文章摘要(description)显示的字符数。 infolen='100' (摘要最多显示100个字符)
flag 特定标识,调用带有特定标识的文章。 flag='h' (调用头条文章)
flag='c' (调用推荐文章)
flag='h,c' (调用既是头条又是推荐的文章)
orderby 排序方式,设置文章的排序规则。 orderby='hot' (按浏览量排序)
orderby='pubdate' (按发布时间排序,默认)
orderby='sortrank' (按后台“置顶”排序)
orderway 排序方向,配合 orderby 使用,desc 为降序,asc 为升序。 orderway='desc' (降序,默认)
orderway='asc' (升序)
channelid 模型ID,指定调用特定内容模型的文章。 channelid='1' (调用文章模型)
channelid='2' (调用图集模型)
limit 起始位置和数量,格式为 起始位置,数量 limit='0,5' (从第0条开始,共5条,等同于row='5')
limit='5,5' (从第5条开始,共5条,用于分页)

常用字段(Field)详解

字段标签用于在循环体内获取并显示文章的具体信息。

字段名 作用 示例
[field:title/] <a href="[field:arcurl/]">[field:title/]</a>
[field:arcurl/] 文章链接,指向文章详情页的完整URL。 <a href="[field:arcurl/]">阅读全文</a>
[field:pubdate/] 发布时间,输出的是Unix时间戳,通常需要配合 function 进行格式化。 [field:pubdate function="MyDate('Y-m-d', @me)"/] (输出如: 2025-10-27)
[field:description/] 文章摘要,调用文章的摘要内容。 <p>[field:description/]</p>
[field:litpic/] 文章缩略图,调用文章的封面图片。 <img src="[field:litpic/]" alt="[field:title/]" />
[field:click/] 文章点击量 阅读: [field:click/]次
[field:typelink/] 栏目链接,指向该文章所属栏目的链接。 <span>[field:typelink/]</span>
[field:id/] 文章ID <a href="/plus/del.php?arcid=[field:id/]" ...>删除</a> (后台常用)

实战案例

案例1:首页调用头条新闻(带缩略图)

假设我们要在首页调用5条头条文章,每条显示标题、摘要和缩略图。

<!-- 调用5条头条文章 -->
{dede:arclist flag='h' row='5' titlelen='40' infolen='100'}
    <div class="news-item">
        <a href="[field:arcurl/]" class="news-thumb">
            <img src="[field:litpic/]" alt="[field:title/]" />
        </a>
        <div class="news-content">
            <h3><a href="[field:arcurl/]">[field:title/]</a></h3>
            <p class="news-desc">[field:description/]</p>
            <p class="news-date">[field:pubdate function="MyDate('Y-m-d', @me)"]</p>
        </div>
    </div>
{/dede:arclist}

案例2:指定栏目调用文章(带分页效果)

在某个列表页,我们想调用栏目ID为5和6下的所有文章,并实现分页。

<!-- 调用栏目ID为5和6下的文章,每页10条 -->
{dede:arclist typeid='5,6' row='10' titlelen='30'}
    <li>
        <span class="title">[field:pubdate function="MyDate('m-d', @me)"]</span>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:arclist}
<!-- 分页代码 -->
<div class="dede_pages">
    <ul>
        {dede:pagelist listsize='4' listitem='pre,next,end,'}
    </ul>
</div>

注意:列表页的分页通常使用 {dede:list} 标签,{dede:arclist} 主要用于首页或固定列表。{dede:list} 的用法和 arclist 非常相似,但它是专门为列表页分页设计的。


高级技巧:使用 channelid 调用其他模型

如果你的网站有自定义模型,产品模型”,ID为3,你可以这样调用:

{dede:arclist channelid='3' row='6'}
    <div class="product">
        <h3><a href="[field:arcurl/]">[field:title/]</a></h3>
        <img src="[field:litpic/]" alt="[field:title/]" />
        <!-- 假设产品模型有一个自定义字段叫 'price' -->
        <p>价格:[field:price/]</p>
    </div>
{/dede:arclist}

注意:要调用自定义字段(如 price),请确保你的模型中已经定义了这个字段,并且开启了“使字段在列表页可以调用”的选项。

{dede:arclist} 是 DedeCMS 的灵魂标签,掌握它的关键在于:

  1. 理解结构{dede:arclist} + HTML + [field:xxx] + {/dede:arclist}
  2. 熟悉属性:通过 typeid, row, flag 等属性来精确筛选你想要的文章。
  3. 掌握字段:通过 [field:title], [field:arcurl] 等字段来获取文章的各个信息。
  4. 勤加练习:尝试组合不同的属性和字段,实现各种复杂的列表效果。

希望这份详细的讲解能帮助你彻底搞懂 Dede me 循环

-- 展开阅读全文 --
头像
C语言计算器如何实现多个数连续运算?
« 上一篇 05-02
织梦密码忘了咋找回?
下一篇 » 05-02

相关文章

取消
微信二维码
支付宝二维码

目录[+]