dede如何增加自定义属性?

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

使用系统自带的“自定义属性”字段(最简单快捷)

这是DedeCMS内置的一个功能,专门用于设置文章的标签或属性,非常方便,适合少量、固定的属性。

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

适用场景

  • 添加文章的标签,如:推荐头条热门原创转载
  • 这些属性通常是固定的几个选项,不需要在后台进行复杂的管理。

操作步骤

进入文章编辑页面 登录DedeCMS后台,点击「内容管理」 -> 「普通文章」 -> 「新增文章」 或 「编辑文章」。

找到“自定义属性”选项 在文章编辑界面的下方,你会找到一个名为「自定义属性」的下拉选择框。

添加新的自定义属性 默认情况下,这里可能只有几个选项,如果你想添加自己的属性(专题”),你需要修改系统的配置文件。

  • 修改文件:打开 /dede/templets/article_add.htm/dede/templets/article_edit.htm 这两个文件。
  • 查找代码:在这两个文件中,搜索 selatts,你会找到类似这样的代码段:
    <select name='arcatt' id='arcatt' style='width:150px'>
     <option value='0' selected>正常属性</option>
     <option value='c'>头条推荐</option>
     <option value='a'>特荐</option>
     <option value='h'>幻灯片</option>
     <option value='p'>图片</option>
    </select>
  • 添加选项:在 <option> 标签中添加你自己的属性,添加一个“专题”属性,其值为 s
    <select name='arcatt' id='arcatt' style='width:150px'>
     <option value='0' selected>正常属性</option>
     <option value='c'>头条推荐</option>
     <option value='a'>特荐</option>
     <option value='h'>幻灯片</option>
     <option value='p'>图片</option>
     <option value='s'>专题</option> <!-- 新增的“专题”属性 -->
    </select>
  • 保存文件:保存对这两个文件的修改。

使用和保存 回到后台的文章编辑页面,你就可以在下拉框中看到并选择你新添加的“专题”属性了,勾选后,发布或保存文章即可。

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

在前台模板中调用

在文章列表页(list_article.htm)或文章内容页(article_article.htm)中,可以使用 {dede:field.arctype/} 标签来获取这些属性值,然后通过 if 语句进行判断。

示例:在列表页给“专题”文章加上特殊标记

{dede:list pagesize='10'}
    <li>
        <!-- 判断是否有专题属性 -->
        {dede:field name='typeid' runphp='yes'}
            $arcatts = @me; // 获取当前文章的自定义属性
            if ($arcatts == 's') {
                @me = "<span class='special-tag'>[专题]</span>";
            } else {
                @me = "";
            }
        {/dede:field}
        <a href="[field:arcurl/]">[field:title/]</a>
        <span class="date">[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
    </li>
{/dede:list}
  • 代码解释
    • runphp='yes' 表示启用PHP代码执行。
    • @me 在PHP代码块中代表当前标签的原始值,即 typeid 的值,但在这里我们用它来临时存储 arcatts 的值,这是一个常见的技巧。
    • 我们判断 $arcatts 是否等于我们设置的 's',如果相等,就输出一个 <span> 标签,否则输出空字符串。

使用“附加字段”功能(更灵活、功能更强大)

如果你需要的自定义属性不仅仅是简单的标签,而是需要存储具体的内容(比如作者简介、来源网址、产品规格等),那么使用“附加字段”是更好的选择。

适用场景

  • 需要为每篇文章输入一段文字、一个链接或一个数字。
  • 属性值不固定,需要用户在发布文章时手动填写。
  • 需要一个独立的字段来管理。

操作步骤

进入模型管理 登录DedeCMS后台,点击「核心」 -> 「内容模型管理」。

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

选择并修改模型 点击你想要添加字段的模型名称,普通文章」。

添加新字段 在模型管理页面,点击「添加新字段」。

配置字段信息 在弹出的表单中,填写以下信息:

  • 字段名:英文,如 source_urlauthor_intro不能使用中文
  • :中文,如“来源网址”、“作者简介”,这个会在后台文章编辑页面显示。
  • 字段类型:根据你的需求选择,如:
    • text:单行文本
    • textarea:多行文本
    • number:数字
    • datetime:日期时间
    • varchar:字符(与text类似)
  • 字段说明:对这个字段的描述,可选。
  • 是否为空:勾选后,此字段可以为空。
  • 默认值:可选,设置一个默认值。
  • 前台显示:勾选后,此字段内容会在前台内容页显示。
  • 后台参数:可以设置输入框的样式等,一般保持默认。

填写完毕后,点击「保存」。

在后台文章编辑页面使用 刷新一下后台的文章编辑页面,你会在编辑框的下方看到你刚刚添加的“附加字段”区域,并可以输入内容。

在前台模板中调用

页(article_article.htm),可以直接通过 {dede:field.字段名/} 来调用附加字段的内容。

示例:调用“来源网址”和“作者简介”

假设你添加了两个字段:source_url(来源网址)和 author_intro(作者简介)。

<div class="article-content">
    {dede:field.body/}
</div>
<div class="article-info">
    <p>
        <strong>来源:</strong>
        <!-- 如果来源网址不为空,则显示链接 -->
        {dede:field.source_url runphp='yes'}
            if (@me != '') {
                @me = "<a href='" . @me . "' target='_blank'>" . @me . "</a>";
            } else {
                @me = "本站原创";
            }
        {/dede:field.source_url}
    </p>
    <p>
        <strong>作者简介:</strong>
        {dede:field.author_intro/}
    </p>
</div>
  • 代码解释
    • {dede:field.source_url/} 直接输出字段的值。
    • 我们同样使用 runphp='yes' 来对字段值进行判断,如果存在,则将其包裹在 <a> 标签中,使其成为一个可点击的链接。

总结与对比

特性 自定义属性 附加字段
数据类型 单一值(标签),如 c, h, s 任意类型(文本、数字、日期等)
数据量 每篇文章只能选一组(可多选) 每个字段可以输入一段具体内容
灵活性 低,需修改文件添加新属性 高,通过后台即可动态添加和管理
适用场景 用于文章的分类、标记,控制前台样式 用于存储文章的额外信息,如来源、作者、产品参数等
调用方式 需要通过 runphp 进行判断和转换 直接通过 {dede:field.字段名/} 调用

建议

  • 如果只是想做几个“推荐”、“热门”之类的标签,用方法一最方便。
  • 如果需要为文章添加更多、更丰富的信息,且这些信息是动态变化的,强烈推荐使用方法二

希望这个详细的教程能帮助你成功地在DedeCMS中增加自定义属性!

-- 展开阅读全文 --
头像
dede后台跳转登录如何解决?
« 上一篇 03-05
c语言是如何体现结构思想的
下一篇 » 03-05
取消
微信二维码
支付宝二维码

目录[+]