什么是文章自定义属性?
文章自定义属性 是指除了文章标题、内容、作者、来源等系统默认字段之外,由网站管理员自行定义的一些额外属性标签。

你可以把它想象成给文章打上的“自定义标签”或“标记”,这些属性本身不存储复杂的内容,主要作用是标识文章的某种特性,然后在模板中通过判断这些特性,来实现不同的显示效果。
自定义属性有什么用?(核心价值)
自定义属性的主要目的是为了的差异化展示和功能控制,最常见的用途包括:
- 推荐/置顶/头条:这是最经典的应用,通过
头条(h)、推荐(c)、置顶(p)等属性,来控制文章是否在首页、频道页等位置突出显示。 - :通过
会员(j)属性,可以标记文章为付费内容,非登录会员或未付费会员将无法查看。 - 幻灯片/焦点图:通过
幻灯片(f)属性,可以将文章挑选出来,显示在网站的首页幻灯片轮播图中。 - 特荐/专题:通过
特荐(a)属性,可以推荐到网站的某个特殊推荐位。 - 展示:你可以创建自己的属性,
新品(x)、热销(r)、视频(v)等,然后在模板中判断,给文章标题前加上一个小图标(如“新品”图标、“热销”图标),或者改变其背景色,使其更醒目。
如何使用自定义属性?(操作步骤)
使用自定义属性主要分为三步:在后台定义属性 -> 2. 在发布文章时勾选属性 -> 3. 在前台模板中调用属性。
第一步:在后台管理系统中定义属性
织梦系统已经预设了一些常用属性,但你也可以根据需要添加新的。

-
登录织梦后台。
-
进入 【系统】 -> 【系统基本参数】。
-
在左侧菜单中找到并点击 【核心设置】。
-
向下滚动页面,找到 “自定义文档属性” 这一栏。
-
你会看到一串类似
h,t,j,p,a,c...的代码,以及下方的说明,这些代码就是属性的英文标识。h: 头条c: 推荐j: 会员p: 置顶f: 幻灯片s: 跳转a: 特荐b: 加粗
-
添加新属性:
- 在文本框中按照
英文标识,中文描述的格式添加,如果你想添加一个“新品”属性,可以输入x,新品。 - 如果你想添加多个,用英文逗号隔开即可,
x,新品,r,热销。 - 添加完成后,点击 【保存】 按钮。
- 在文本框中按照
注意:修改此处的属性定义后,已发布的文章不会自动获得新属性,但之后发布的新文章就可以勾选这些新属性了。
第二步:在发布/编辑文章时勾选属性
- 进入 【核心】 -> 发布管理】,点击 【新增文档】** 或编辑一篇已有文章。
- 在文章编辑界面的下方,找到 “自定义属性” 选项区。
- 你会看到第一步中定义的所有属性选项,直接勾选你想要赋予这篇文章的属性即可。
一篇文章可以同时拥有多个属性。
- 填写完文章内容和其他信息后,点击 【确定】 发布。
第三步:在前台模板中调用和判断属性
这是最关键的一步,模板决定了这些属性最终如何在前端网站上展示,核心的模板标签是 field:flag。
field:flag 会输出文章所有被勾选的属性的英文标识,组合成一个字符串。
举例说明:
假设一篇文章同时被勾选了 “推荐(c)” 和 “幻灯片(f)” 属性,field:flag 的值就是 cf。
场景1:让推荐文章的标题显示不同样式
我们希望在首页的文章列表中,所有被标记为“推荐”的文章标题前面显示一个“荐”字,并且字体颜色变为红色。
打开你的首页模板文件(通常是 /templets/default/index.htm),找到文章列表的循环部分(通常由 {dede:arclist} 标签控制),修改如下:
{dede:arclist typeid='' row='10' titlelen='30'}
<li>
<!--
这里的 [field:flag runphp='yes'] ... [/field:flag] 是一个条件判断。
runphp='yes' 表示开启PHP代码执行。
-->
[field:flag runphp='yes']
// $this 是当前文章的数据对象
// @me 是 field:flag 标签的原始值,即 'cf', 'h', 'c', '' 等
if (@me == 'c' || strpos(@me, 'c') !== false) {
// @me 等于 'c' 或者包含 'c' (strpos函数用于查找字符串)
@me = "<span style='color:red; font-weight:bold;'>[荐]</span> ";
} else {
@me = "";
}
[/field:flag]
<!-- [field:title/] 是文章标题 -->
<a href="[field:arcurl/]">[field:title/]</a>
</li>
{/dede:arclist}
代码解释:
{dede:arckill ...}: 文章列表调用标签。[field:flag runphp='yes'] ... [/field:flag]: 对当前文章的flag字段进行PHP逻辑判断。@me: 这是一个特殊变量,代表当前标签(这里是field:flag)的原始输出值。if (@me == 'c'): 判断flag是否等于c(即只勾选了推荐)。strpos(@me, 'c') !== false: 这是一个更严谨的判断,表示flag字符串中是否包含c,这样可以确保即使文章同时拥有c和f属性(值为cf),也能被正确识别。@me = "...": 如果条件成立,就重新给@me赋值,这里赋的是一个包含HTML样式的字符串。[field:title/]: 在field:flag标签之后,正常输出文章标题,此时前面已经被加上了我们自定义的样式。
场景2:只在幻灯片区域调用带幻灯片属性的文章
假设你有一个首页幻灯片模块,只想显示那些被标记了“幻灯片(f)”属性的文章。
<!-- 在首页模板的合适位置添加以下代码 -->
<div class="slide-box">
<ul>
{dede:arclist flag='f' row='5' titlelen='24'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">
<img src="[field:litpic/]" alt="[field:title/]">
<span>[field:title/]</span>
</a>
</li>
{/dede:arclist}
</ul>
</div>
代码解释:
{dede:arclist flag='f' ...}: 这里使用了arclist的flag属性。flag='f': 这个参数的作用是只调用那些自定义属性中包含f的文章,你也可以写成flag='cf',表示调用同时包含c和f属性的文章。
| 功能步骤 | 操作说明 | 核心标签/参数 |
|---|---|---|
| 定义属性 | 后台 -> 系统基本参数 -> 核心设置 -> 自定义文档属性 | 英文标识,中文描述 (如 x,新品) |
| 应用属性 | 发布/编辑文章时,在编辑器下方勾选对应的属性 | 后台文章编辑界面 |
| 调用属性 | 在模板文件中使用逻辑判断,实现差异化显示 | field:flag arclist 标签的 flag 属性 |
掌握 DedeCMS 的自定义属性功能,能让你在不修改程序的情况下,灵活地控制网站内容的展示方式,是提升网站用户体验和运营效率的必备技能。
