dede如何添加自定义属性?

99ANYc3cd6
预计阅读时长 13 分钟
位置: 首页 DEDE建站 正文
  1. 在后台添加自定义属性字段
  2. 在前台模板中调用并显示这个新字段

下面我将用最通俗的步骤,以添加一个文章的“作者简介”字段为例,为你详细讲解整个过程。

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

第一步:在后台添加自定义属性字段

这一步的核心是修改数据库,并让DedeCMS识别这个新字段。

修改数据库表

你需要向存储文章数据的 dede_archives 表(如果你的文章模型是默认的话)添加一个新的字段。

  • 使用DedeCMS后台SQL命令(推荐,最安全)

    1. 登录你的DedeCMS后台。
    2. 在顶部菜单栏找到并点击 【系统】 -> 【SQL命令行工具】
    3. 在“命令运行区”的文本框中,输入以下SQL语句:
      ALTER TABLE `dede_archives` ADD `author_intro` TEXT NOT NULL DEFAULT '';
      • ALTER TABLE 'dede_archives':表示我们要修改 dede_archives 这个表。
      • ADD 'author_intro':表示我们要添加一个名为 author_intro 的新字段。
      • TEXT:表示这个字段的数据类型是 TEXT,可以存放较长的文本,适合“作者简介”。
      • NOT NULL DEFAULT '':表示这个字段值不能为空,默认值为空字符串。
    4. 点击 【确定执行】

    如果你的文章使用了其他模型(比如文章模型ID不是1),那么你可能需要修改对应的附加表,dede_addonarticle,添加方法类似。

    dede添加自定义属性
    (图片来源网络,侵删)
  • 使用phpMyAdmin等数据库管理工具

    1. 通过你的主机控制面板进入phpMyAdmin。
    2. 选择你的DedeCMS数据库。
    3. 找到 dede_archives 表,点击“结构”或“操作”。
    4. 选择“添加新字段”。
    5. 填写字段信息:
      • 名称: author_intro
      • 类型: TEXT
      • 长度/值: 留空
      • 属性: 留空
      • Null: 选择 NOT NULL
      • 默认: 留空(会自动变成空字符串)
    6. 点击“执行”或“保存”。

让DedeCMS识别新字段(重要!)

仅仅修改数据库是不够的,DedeCMS需要知道这个新字段的存在,以便在后台编辑文章时能显示出来。

  1. 使用FTP工具或文件管理器,登录你的服务器。
  2. 找到并打开DedeCMS安装目录下的这个文件: /data/cache/inc_catalog_options.php
  3. 在文件中找到 $arr['fieldset']['article']['items'] 这个数组(大约在第140行左右,具体版本可能略有不同)。
  4. 在这个数组的最后,在 之前,添加你新字段的定义,格式如下:
    // 在 ');' 前面添加这一行
    'author_intro' => array(
        'itemname' => '作者简介',
        'itemtype' => 'textarea',
        'setting' => ''
    ),
    • 'author_intro':是你刚才在数据库中添加的字段名。
    • 'itemname' => '作者简介':是你在后台编辑文章时看到的字段标签名称。
    • 'itemtype' => 'textarea':表示这个字段是一个多行文本框,适合输入长文本,你也可以用 'text' 来表示单行文本框。

修改完成后,保存并关闭 inc_catalog_options.php 文件。

清除缓存并测试

  1. 回到DedeCMS后台。
  2. 点击顶部菜单的 【系统】 -> 【一键更新网站】 -> 更新缓存,并执行。
  3. 进入 【核心】 -> 维护】 ->
  4. 选择一个栏目,进入文章编辑页面。
  5. 向下滚动页面,你应该能看到你刚刚添加的 “作者简介” 字段,并且是一个多行文本框,在里面输入一些测试内容,【保存】

至此,后台的添加工作已经完成。

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

第二步:在前台模板中调用并显示新字段

你需要在用户能看到的前台页面模板中,调用并显示这个“作者简介”。

确定模板文件

你需要修改显示文章内容的模板文件,通常是:

  • 文章列表页:/templets/default/article_list.htm
  • 页:/templets/default/article_article.htm

我们以修改文章内容页 article_article.htm 为例。

在模板中调用字段

DedeCMS提供了强大的标签来调用字段,对于在 archives 表中的字段,最常用的是 field

打开 article_article.htm 文件,在你希望显示“作者简介”的位置(比如文章标题下方、正文上方或下方),加入以下代码:

{dede:field name='author_intro'/}
  • {dede:field}:是调用文章单个字段的标签。
  • name='author_intro':就是要调用的字段名,必须和数据库中添加的字段名完全一致。

你也可以给它加上一些样式,让它更美观:

<div class="author-intro">
    <h3>作者简介</h3>
    <p>{dede:field name='author_intro'/}</p>
</div>

清除缓存并前台预览

  1. 再次进入后台的 【一键更新网站】
  2. 分别 【更新文档HTML】【更新主页HTML】
  3. 现在去你的网站前台,打开刚才添加了“作者简介”的那篇文章,你应该就能看到你输入的内容了。

进阶技巧:添加到列表页

如果你希望在文章列表页(如首页、栏目页)也显示这个自定义属性,操作方法类似。

  1. 修改列表页模板:打开 /templets/default/article_list.htm 或你的栏目列表模板。
  2. 使用列表字段调用标签:在循环标签 {dede:list} 内部使用。

想在列表页每篇文章的标题后面显示简介:

{dede:list pagesize='10'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <!-- 在这里调用自定义属性 -->
        <span class="intro">[field:author_intro/]</span>
    </li>
{/dede:list}

同样,修改后需要更新一下列表页的HTML才能看到效果。

步骤 操作 核心要点
后台添加 执行SQL:向 dede_archives 表添加新字段。 使用SQL命令工具或phpMyAdmin,注意字段名和数据类型。
修改配置文件:编辑 /data/cache/inc_catalog_options.php $arr['fieldset']['article']['items'] 数组中添加新字段定义。
清除缓存:在后台执行“更新缓存”。 让DedeCMS重新加载配置,识别新字段。
前台调用 修改模板文件:打开 article_article.htmarticle_list.htm 在需要显示的位置添加调用标签。
使用调用标签{dede:field name='你的字段名'/} 字段名必须和数据库中的一致。
更新前台:在后台执行“更新文档HTML”。 生成新的HTML页面,让前台显示新内容。

按照以上步骤,你就可以成功地在DedeCMS中添加并使用任何你需要的自定义属性了,这个方法同样适用于为栏目、软件等其他模型添加自定义字段。

-- 展开阅读全文 --
头像
74HC595 C语言程序如何实现数据移位输出?
« 上一篇 03-05
dede数据库密码存在哪?如何查看?
下一篇 » 03-05
取消
微信二维码
支付宝二维码