dede如何调用自定义变量?

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

第一步:在后台添加自定义变量

你需要在 DedeCMS 的后台管理系统中,为你想要调用的页面(通常是首页、栏目页或文章页)添加一个自定义变量。

dede调用自定义变量
(图片来源网络,侵删)
  1. 登录 DedeCMS 后台

  2. 进入“核心” -> “网站栏目管理”

    • 如果你希望这个变量在首页显示,请直接点击“网站栏目管理”。
    • 如果你希望这个变量在某个特定栏目的列表页或内容页显示,请先进入该栏目的管理。
    • 如果你希望这个变量在显示,请确保你选择了文章所在的栏目。
  3. 添加自定义字段

    • 在栏目管理页面,找到并点击右上角的 [增加高级自定义字段] 按钮。

      dede调用自定义变量
      (图片来源网络,侵删)
    • 填写字段信息

      • 字段名称:这是你在后台管理时看到的名称,建议使用英文或拼音,site_slogan, contact_phone注意:不要使用特殊字符和空格。
      • 字段提示会显示在前台添加内容的表单中,作为给网站编辑者的提示。“请输入网站宣传语”、“请输入联系电话”。
      • 字段类型:根据你的需求选择,最常用的有:
        • 单行文本:用于简短文本,如标题、电话、邮箱。
        • 多行文本:用于大段文本,如公司简介、公告内容。
        • 编辑器:支持图文混排,如详细的图文介绍。
        • 下拉菜单 / 单选按钮组:用于从几个固定选项中选择,如“是/否”、“热门/推荐”。
        • 图片:用于上传一张图片。
      • 默认值:可选,如果这个字段不填写,可以显示一个默认值。
      • 字段值:对于下拉菜单或单选按钮组,在这里填写选项,每行一个,
        是
        否
      • 显示位置:通常选择“内容页列表”即可,这样在后台发布或修改内容时就能看到这个字段。
    • 点击 [保存] 按钮。

  4. 为首页添加变量(特殊处理): 首页的自定义变量不在栏目里设置,你需要:

    • 进入 “核心” -> “网站栏目管理”
    • 点击最顶部的 “主页” 栏目。
    • 然后点击 [增加高级自定义字段],步骤和上面完全一样。
  5. 为栏目页/列表页添加变量: 和为首页添加一样,进入 “网站栏目管理”,然后点击你想要设置的具体栏目,再点击 [增加高级自定义字段]

    dede调用自定义变量
    (图片来源网络,侵删)
  6. 填写变量值: 添加完字段后,你需要去填写它的值。

    • 首页变量:进入 “核心” -> “网站主页管理”,在主页内容里,你会看到刚刚添加的字段,填写并保存。
    • 栏目变量:进入 “网站栏目管理”,点击对应的栏目,在栏目编辑页面底部填写并保存。
    • 文章变量:进入 “核心” -> “内容发布”,修改或新增一篇文章,在文章编辑页面底部找到你的自定义字段并填写。

第二步:在模板文件中调用变量

变量添加并填写完毕后,就可以在你的模板文件(.htm 文件)中使用 DedeCMS 的模板标签来调用了。

调用标签的基本格式是:{dede:field.你的字段名称/}

调用首页自定义变量

假设你在首页添加了一个名为 site_slogan(字段名称)的单行文本变量,值为“专业网站建设,值得信赖的合作伙伴”。

在首页模板文件 index.htm 中,你可以这样调用:

<!-- 在你想要显示的位置添加如下代码 -->
<div class="slogan">
    {dede:field.site_slogan/}
</div>

浏览器渲染后,HTML 源码就会变成:

<div class="slogan">
    专业网站建设,值得信赖的合作伙伴
</div>

调用栏目页/列表页自定义变量

假设你在“关于我们”栏目添加了一个名为 about_desc(字段名称)的多行文本变量。

在对应的栏目列表页模板 list_aboutus.htm 中,调用方式如下:

<div class="category-description">
    {dede:field.about_desc/}
</div>

调用文章内容页自定义变量

这是最常见的场景之一,假设你在文章模型中添加了一个名为 author_intro(字段名称)的编辑器变量,用来存放作者的简介。 页模板 article_article.htm 中,调用方式如下:

<div class="author-info">
    <h4>作者简介</h4>
    {dede:field.author_intro/}
</div>

高级用法与常见问题

调用图片类型的变量

如果你添加的字段类型是“图片”,上传了一张图片后,DedeCMS 会自动生成图片路径。

假设字段名为 site_logo,调用方式:

<img src="{dede:field.site_logo/}" alt="网站Logo">

条件判断:if

有时候你可能需要根据变量的值来决定是否显示某些内容,这时可以使用 if

示例:假设有一个名为 is_show_notice 的单行文本变量,值为 "1" 时显示公告,为空时不显示。

{dede:field.is_show_notice runphp='yes'}
    if(@me != '') {
        @me = '<div class="notice">这里是网站公告:{dede:field.notice_content/}</div>';
    } else {
        @me = ''; // 为空则不显示任何内容
    }
{/dede:field.is_show_notice}

更简洁的 if 写法

{dede:field.is_show_notice runphp='yes'}
    if(@me) {
        @me = '<div class="notice">重要公告!</div>';
    } else {
        @me = '';
    }
{/dede:field.is_show_notice}
  • runphp='yes' 表示开启 PHP 解析。
  • @me 是一个特殊变量,代表当前标签的值。

调用全局配置变量

除了你自定义的字段,DedeCMS 还有很多内置的全局配置变量,它们都以 cfg_ 开头。

调用网站标题:

调用网站版权信息:

<footer>{dede:global.cfg_powerby/}</footer>

常见问题排查

  • 问题:调用 {dede:field.myfield/} 后,前台显示为空或显示 {dede:field.myfield/} 本身。

    • 原因1:字段名称 myfield 输入错误,或者包含了大写字母、下划线以外的字符,DedeCMS 的字段名对大小写敏感,且最好只用小写字母、数字和下划线。
    • 原因2:忘记在后台为该页面/栏目/文章填写这个字段的值。
    • 原因3:调用变量的模板文件和设置变量的页面不匹配,在栏目页的模板里调用了只在文章内容页才有的字段。
  • 问题:图片字段调用后显示的是代码,而不是 <img>

    • 原因:DedeCMS 的图片字段通常存储的是图片路径,直接调用 {dede:field.myimage/} 会得到路径字符串,你需要手动用 <img> 标签包裹它。
    • 解决方案
      <img src="{dede:field.myimage/}" alt="描述">
步骤 操作 关键点
添加变量 后台 -> 核心 -> 网站栏目管理 -> 增加高级自定义字段 字段名称(英文/拼音,无特殊字符)和字段类型是关键。
填写值 在对应页面(主页管理、栏目编辑、文章发布)填写变量的值。 确保值已填写,否则调用为空。
调用变量 在模板文件中使用 {dede:field.字段名称/} 标签名称和字段名称必须完全一致。

遵循以上步骤,你就可以在 DedeCMS 中灵活地使用和调用各种自定义变量了。

-- 展开阅读全文 --
头像
C语言如何判断一个数是否为整数?
« 上一篇 今天
c语言求n个数的最小公倍数
下一篇 » 今天

相关文章

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