dede文章自定义属性如何设置?

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

什么是文章自定义属性?

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

dede文章自定义属性
(图片来源网络,侵删)

你可以把它想象成给文章打上的“自定义标签”或“标记”,这些属性本身不存储复杂的内容,主要作用是标识文章的某种特性,然后在模板中通过判断这些特性,来实现不同的显示效果。


自定义属性有什么用?(核心价值)

自定义属性的主要目的是为了的差异化展示和功能控制,最常见的用途包括:

  1. 推荐/置顶/头条:这是最经典的应用,通过 头条(h)推荐(c)置顶(p) 等属性,来控制文章是否在首页、频道页等位置突出显示。
  2. :通过 会员(j) 属性,可以标记文章为付费内容,非登录会员或未付费会员将无法查看。
  3. 幻灯片/焦点图:通过 幻灯片(f) 属性,可以将文章挑选出来,显示在网站的首页幻灯片轮播图中。
  4. 特荐/专题:通过 特荐(a) 属性,可以推荐到网站的某个特殊推荐位。
  5. 展示:你可以创建自己的属性,新品(x)热销(r)视频(v) 等,然后在模板中判断,给文章标题前加上一个小图标(如“新品”图标、“热销”图标),或者改变其背景色,使其更醒目。

如何使用自定义属性?(操作步骤)

使用自定义属性主要分为三步:在后台定义属性 -> 2. 在发布文章时勾选属性 -> 3. 在前台模板中调用属性

第一步:在后台管理系统中定义属性

织梦系统已经预设了一些常用属性,但你也可以根据需要添加新的。

dede文章自定义属性
(图片来源网络,侵删)
  1. 登录织梦后台。

  2. 进入 【系统】 -> 【系统基本参数】

  3. 在左侧菜单中找到并点击 【核心设置】

  4. 向下滚动页面,找到 “自定义文档属性” 这一栏。

  5. 你会看到一串类似 h,t,j,p,a,c... 的代码,以及下方的说明,这些代码就是属性的英文标识。

    • h: 头条
    • c: 推荐
    • j: 会员
    • p: 置顶
    • f: 幻灯片
    • s: 跳转
    • a: 特荐
    • b: 加粗
  6. 添加新属性

    • 在文本框中按照 英文标识,中文描述 的格式添加,如果你想添加一个“新品”属性,可以输入 x,新品
    • 如果你想添加多个,用英文逗号隔开即可,x,新品,r,热销
    • 添加完成后,点击 【保存】 按钮。

注意:修改此处的属性定义后,已发布的文章不会自动获得新属性,但之后发布的新文章就可以勾选这些新属性了。

第二步:在发布/编辑文章时勾选属性

  1. 进入 【核心】 -> 发布管理】,点击 【新增文档】** 或编辑一篇已有文章。
  2. 在文章编辑界面的下方,找到 “自定义属性” 选项区。
  3. 你会看到第一步中定义的所有属性选项,直接勾选你想要赋予这篇文章的属性即可。

    一篇文章可以同时拥有多个属性。

  4. 填写完文章内容和其他信息后,点击 【确定】 发布。

第三步:在前台模板中调用和判断属性

这是最关键的一步,模板决定了这些属性最终如何在前端网站上展示,核心的模板标签是 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,这样可以确保即使文章同时拥有 cf 属性(值为 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' ...}: 这里使用了 arclistflag 属性。
  • flag='f': 这个参数的作用是只调用那些自定义属性中包含 f 的文章,你也可以写成 flag='cf',表示调用同时包含 cf 属性的文章。

功能步骤 操作说明 核心标签/参数
定义属性 后台 -> 系统基本参数 -> 核心设置 -> 自定义文档属性 英文标识,中文描述 (如 x,新品)
应用属性 发布/编辑文章时,在编辑器下方勾选对应的属性 后台文章编辑界面
调用属性 在模板文件中使用逻辑判断,实现差异化显示 field:flag
arclist 标签的 flag 属性

掌握 DedeCMS 的自定义属性功能,能让你在不修改程序的情况下,灵活地控制网站内容的展示方式,是提升网站用户体验和运营效率的必备技能。

-- 展开阅读全文 --
头像
C语言如何将十进制转为十六进制?
« 上一篇 03-07
dede文件式管理器如何高效管理文件?
下一篇 » 03-07

相关文章

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

目录[+]