dede list的flag参数具体怎么用?

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

完全支持

DedeCMS 的 {dede:list} 标签是完全支持 flag 属性的。flag 是一个非常强大且常用的属性,用于对列表进行排序,实现如“推荐”、“头条”、“热门”等特殊内容的优先展示。

dede list支持 flag
(图片来源网络,侵删)

flag 属性详解

flag 属性通过附加在文章的“自定义属性”字段上(在后台发布文章时可以设置),来为文章打上特定的标记。{dede:list} 标签通过读取这些标记来决定文章的排序方式。

如何设置文章的 flag

在 DedeCMS 后台发布或编辑文章时,找到“自定义属性”这一项:

  • 推荐 (c): 对应 flag='c'
  • 头条 (h): 对应 flag='h'
  • 特荐 (p): 对应 flag='p'
  • 幻灯片 (f): 对应 flag='f'
  • 滚动 (s): 对应 flag='s'
  • 图文信息 (a): 对应 flag='a'
  • 跳转链接 (j): 对应 flag='j'

你可以为同一篇文章设置多个 flag,一篇文章可以同时是“头条”和“推荐”。

{dede:list} 中如何使用 flag

flag 属性通常与 orderby 属性配合使用,指定按照哪个 flag 进行排序。

dede list支持 flag
(图片来源网络,侵删)

基本语法:

{dede:list flag='你的flag值' pagesize='10' orderby='flag'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
    </li>
{/dede:list}

常见 flag 使用示例

下面是一些最常用的 flag 排序场景。

示例 1:获取所有“推荐”文章 (flag='c')

这是最常见的用法,用于在首页或其他页面展示推荐内容。

<!-- 获取10条推荐文章,并按推荐级别排序 -->
{dede:list flag='c' orderby='flag' pagesize='10'}
    <li>
        <a href="[field:arcurl/]" target="_blank">[field:title/]</a>
    </li>
{/dede:list}
  • flag='c': 筛选出所有自定义属性中包含“推荐”标记的文章。
  • orderby='flag': 告诉 DedeCMS 按照文章的 flag 值进行排序,系统内部会为不同的 flag 赋予不同的权重,p (特荐) > c (推荐) > h (头条) 等,这样特荐的文章会排在最前面。

示例 2:获取所有“头条”文章 (flag='h')

<!-- 获取5条头条文章 -->
{dede:list flag='h' pagesize='5'}
    <li>
        <strong><a href="[field:arcurl/]" target="_blank">[field:title/]</a></strong>
    </li>
{/dede:list}

这里只设置了 flag='h',如果没有指定 orderby,默认会按文章发布时间(pubdate)降序排列。

dede list支持 flag
(图片来源网络,侵删)

示例 3:组合使用多个 flag

如果你想同时获取“推荐”和“头条”的文章,可以将 flag 值连在一起。

<!-- 获取同时是“推荐”或“头条”的文章 -->
{dede:list flag='ch' orderby='flag' pagesize='8'}
    <li>
        <a href="[field:arcurl/]" target="_blank">[field:title/]</a>
    </li>
{/dede:list}
  • flag='ch': 表示文章的自定义属性中,只要包含 c 或者 h 中的任意一个就会被列出。

示例 4:排除特定 flag 的文章

有时候你可能想显示所有文章,但排除掉某些不希望展示的,跳转链接” (j)。

DedeCMS 的 flag 不直接支持排除语法,但可以通过 SQL 查询结合 arclist 标签来实现,对于简单的列表,{dede:list} 本身会正常显示所有符合条件的 flag 文章,如果需要排除,通常需要修改底层文件或使用更复杂的查询。

一个更简单的方法是,在后台设置“跳转链接”类型的文章为“不生成HTML”或“仅动态浏览”,这样它们就不会出现在静态列表中。


{dede:list}{dede:arclist}flag 对比

为了更好地理解,这里简单对比一下两个标签的 flag 用法:

特性 {dede:list} {dede:arclist}
用途 用于生成栏目列表页,通常放在 list_article.htm 模板文件中。 用于在任意页面(首页、封面页等)调用文章列表,非常灵活。
flag 语法 flag='c' flag='c'
数据范围 仅限于当前栏目及其子栏目的文章。 可以跨栏目调用,通过 typeid 属性指定一个或多个栏目ID。
常用场景 制作栏目页的默认文章列表,并按特定属性排序。 制作首页推荐、热门文章、相关文章等。

{dede:arclist} 使用 flag 的示例:

<!-- 在首页调用推荐文章 -->
{dede:arclist flag='c' typeid='1,2,3' titlelen='30' row='5'}
    <li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}

总结与注意事项

  1. 完全支持{dede:list} 标签 100% 支持 flag 属性。
  2. 设置来源flag 的值来自于文章后台的“自定义属性”。
  3. 核心用途:主要用于对列表进行特殊排序,让带有特定标记(如推荐、头条)的文章排在前面。
  4. 组合使用flag 值可以组合(如 flag='ch'),表示“或”的关系。
  5. orderby 配合:要实现按 flag 权重排序,通常需要同时指定 orderby='flag',如果不指定,则默认按 pubdate 排序。
  6. 适用范围{dede:list}flag 只对当前栏目有效,而 {dede:arclist} 更灵活,可以跨栏目使用。

希望这个详细的解释能帮助你完全掌握 DedeCMS list 标签中 flag 的用法!

-- 展开阅读全文 --
头像
织梦CMS本地环境安装步骤有哪些?
« 上一篇 2025-12-29
dede list的flag参数具体怎么用?
下一篇 » 2025-12-29
取消
微信二维码
支付宝二维码

目录[+]