dede内容页自定义字段调用

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

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

这是所有操作的基础,你需要先在数据库里为你需要的内容模型增加一个字段。

dede内容页自定义字段调用
(图片来源网络,侵删)
  1. 登录 DedeCMS 后台

  2. 进入 【核心】 -> 模型管理】,模型管理页面,找到你当前文章所使用的模型(通常是“文章模型”),点击其右侧的 【字段管理】

  3. 进入字段管理后,点击 【添加新字段】

  4. 填写字段信息(这是最关键的一步):

    dede内容页自定义字段调用
    (图片来源网络,侵删)
    • 字段名: 必须使用英文myauthor, myvideo, myfiles 等,这是你在模板中调用时使用的名称。
    • 字段类型: 根据你的需求选择。
      • 单行文本: 用于简短的文字,如作者、来源、标签等。
      • 多行文本: 用于大段的文字描述,如详细说明、备注等。
      • 编辑器: 和文章内容一样,支持富文本格式,可以插入图片、视频等,适合用于产品详情、补充说明等。
      • 附件: 用于上传单个文件,如 PDF、Word、安装包等。
      • 图片: 用于上传一张或多张图片。
      • 枚举: 提供几个固定的选项让用户选择,如“推荐位”、“颜色”等。
      • 数字: 用于输入纯数字。
    • 字段提示: 在后台发布文章时,输入框下方显示的提示文字,方便站长理解这个字段是做什么用的。
    • 默认值: 可选,如果希望所有文章都默认有一个值,可以在这里填写。
    • 是否为空: 选择“否”表示这个字段为必填项。
    • 字段允许HTML: 如果字段类型是“多行文本”或“编辑器”,并且你希望允许用户输入 HTML 代码,就选择“是”。
    • 显示在发布页: 选择“是”,这样在后台发布文章时就能看到这个输入框。
    • 在列表页显示: 选择“是”,这个字段就会在文章列表页调用。
  5. 点击 【保存】,自定义字段就添加成功了。


第二步:在内容页模板中调用自定义字段

字段添加完成后,你需要修改文章内容页的模板文件 (article_article.htm) 来显示这些字段。

通用调用方法(适用于所有字段类型)

这是最基本、最常用的方法,使用 {dede:field.字段名/}

示例:

假设你添加了一个名为 myauthor 的单行文本字段(作者),和一个名为 myintro 的多行文本字段(简介)。

在你的 article_article.htm 模板文件中,你可以这样调用:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">{dede:field.title/}</title>
</head>
<body>
    <h1>{dede:field.title/}</h1>
    <div class="info">
        <span>作者:{dede:field.writer/}</span> <!-- 原有作者字段 -->
        <span>发布时间:{dede:field.pubdate function='MyDate("Y-m-d H:i",@me)'/></span>
    </div>
    <div class="content">
        {dede:field.body/} <!-- 文章正文 -->
    </div>
    <!-- ============ 下面是调用自定义字段的部分 ============ -->
    <div class="custom-info">
        <h3>本文作者:{dede:field.myauthor/}</h3>
        <h3>内容简介:</h3>
        <p>{dede:field.myintro/}</p>
    </div>
</body>
</html>

说明:

  • {dede:field.myauthor/} 会直接输出 myauthor 字段的内容。
  • {dede:field.myintro/} 会直接输出 myintro 字段的内容。

调用特殊类型字段(如图片、附件)

对于图片或附件类型,DedeCMS 提供了更强大的标签来处理数据。

调用 图片 字段

假设你添加了一个名为 myimage 的图片字段。

  • 调用单张图片(如果设置的是单图):

    <img src="{dede:field.myimage/}" alt="{dede:field.title/}">

    这会直接输出图片的完整路径。

  • 调用多张图片(如果设置的是多图): 多图字段的内容是序列化的字符串,需要使用 arrayimg 标签来循环输出。

    <div class="my-gallery">
        {dede:field.myimage array='img'}
            <a href="[field:src/]" title="[field:alt text=/]">
                <img src="[field:src/]" alt="[field:alt text=/]" width="150" />
            </a>
        {/dede:field.myimage}
    </div>
    • array='img' 告诉 DedeCMS 将这个字段按图片数组解析。
    • [field:src/] 循环内部用来获取单张图片的路径。
    • [field:alt text=/] 获取图片的 alt 文本。

调用 附件 字段

假设你添加了一个名为 myfile 的附件字段。

  • 获取附件信息: 附件字段也需要用 array 标签来解析。
    <div class="download-area">
        <h3>相关下载:</h3>
        {dede:field.myfile array='yy'}
            <p>
                <a href="[field:url/]" title="[field:name/]">[field:name/] ([field:size/])</a>
            </p>
        {/dede:field.myfile}
    </div>
    • array='yy' 是附件的固定解析方式。
    • [field:url/] 附件下载地址。
    • [field:name/] 附件名称。
    • [field:size/] 附件大小。

第三步:后台发布文章并填写内容

  1. 进入 【核心】 -> 【所有档案】【添加文档】
  2. 选择对应栏目,进入文章发布页面。
  3. 你会看到刚刚添加的自定义字段输入框,填写相应的内容。
  4. (可选)如果使用编辑器字段:像编辑正文一样,可以使用富文本编辑器插入图片、格式化文字等。
  5. 点击 【保存】【发布】

第四步:生成页面并预览

  1. 进入 【生成】 -> 【一键更新所有】,或者直接更新这篇文章。
  2. 打开这篇文章的页面,查看自定义字段是否正确显示。

高级技巧与常见问题

技巧1:使用[field:函数/]对字段内容进行二次处理

如果自定义字段的内容需要格式化,可以使用 function 属性。

  • 示例1:截取文本 假设 myintro 字段内容很长,你只想显示前 100 个字符。

    <p>{dede:field.myintro function='cn_substr(@me, 100)'/}...</p>

    cn_substr() 是 DedeCMS 的内置截取字符串函数。

  • 示例2:转换日期格式 如果你的字段是时间戳格式,想显示为 年-月-日

    <p>活动日期:{dede:field.mydate function='MyDate("Y-m-d", @me)'/}</p>

技巧2:判断字段是否存在或是否为空

自定义字段可能为空,直接显示会很难看,我们可以使用 if 标签进行判断。

示例:仅在 myvideo 字段有内容时才显示视频

{dede:field.myvideo runphp='yes'}
    if(@me != '') {
        @me = '<div class="video-box"><video src="' . @me . '" controls></video></div>';
    } else {
        @me = '';
    }
{/dede:field.myvideo}

说明:

  • runphp='yes' 开启 PHP 执行。
  • if(@me != '') 判断字段内容是否为空。
  • @me = '...' 将处理后的 HTML 赋值给 @me 变量。
  • else { @me = ''; } 如果为空,则清空输出。

常见问题:为什么调用不出来?

  1. 检查字段名:确保 {dede:field.字段名/} 中的 字段名 和后台添加的 英文字段名 完全一致,注意大小写。
  2. 检查模板修改:确认修改的是正确的模板文件 article_article.htm
  3. 检查后台填写:去后台确认这篇文章是否已经填写了自定义字段的内容。
  4. 重新生成:务必执行 生成 操作,否则修改的模板不会生效。
  5. 检查缓存:有时浏览器缓存也会导致问题,尝试 Ctrl + F5 强制刷新页面。
  6. 检查字段类型:调用图片、附件等特殊类型时,必须使用对应的 array 标签,否则会输出原始的、无法识别的字符串。

通过以上步骤,你应该就能在 DedeCMS 内容页中成功调用并显示任何你需要的自定义字段了。

-- 展开阅读全文 --
头像
C语言平方1003,如何实现平方运算?
« 上一篇 02-03
dede验证码图片不显示怎么办?
下一篇 » 02-03
取消
微信二维码
支付宝二维码