dede联系方式标签如何正确调用与显示?

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

DedeCMS 本身没有一个叫做 contact 的万能标签,联系方式的显示通常通过以下几种方式实现,最常用和最规范的是 使用自定义模型

dede 联系方式标签
(图片来源网络,侵删)

使用自定义模型(推荐,最灵活、最规范)

这是 DedeCMS 的核心思想之一,当您需要添加一个固定的、非文章类型的内容块时(如“联系我们”页面),最佳实践是创建一个自定义模型。

步骤 1:创建自定义模型

  1. 进入后台:登录 DedeCMS 后台。
  2. 找到模型管理:在 核心 -> 内容模型管理 中,点击 增加新模型
  3. 填写模型信息
    • 模型名称:填写一个你喜欢的名字,联系我们
    • 模型表前缀:系统会自动生成,如 dede_ + 一串随机字符,无需修改。
    • 字段列表:这是最关键的一步,点击 增加新字段,为你需要的联系方式信息添加字段。
      • 字段名tel (电话)
      • 字段类型单行文本
      • 字段提示请输入联系电话
      • 保存字段
      • 继续添加:
        • email (邮箱),类型为单行文本
        • address (地址),类型为多行文本(如果地址较长)
        • qq (QQ),类型为单行文本
        • weixin (微信),类型为单行文本
        • logo (公司Logo),类型为媒体图片
    • 完成创建:所有字段添加完毕后,点击 提交 保存模型。

步骤 2:添加自定义内容

  1. 管理:在后台 常用 -> 内容发布管理 中,你应该能看到你刚刚创建的 联系我们 模型。
  2. :点击 增加 一个新的内容项。
    • 编辑页面,填写你刚刚创建的各个字段,如电话、邮箱、地址等。
    • 可以填写为“联系我们”。
    • 这里可以填写更详细的介绍,或者留空。
    • 点击 保存

步骤 3:在前台模板中调用

这是最核心的调用部分,假设你添加的联系方式的 ID 是 1(你可以在后台内容列表中查看)。

使用 GetOneArt 获取单条数据(最常用)

这个标签用于获取指定 ID 的文章(或自定义内容)的所有信息。

dede 联系方式标签
(图片来源网络,侵删)
{dede:getOneArt id='1'}
    <h2>联系我们</h2>
    {if $fields['tel']}
    <p><strong>电话:</strong> {$fields['tel']}</p>
    {/if}
    {if $fields['email']}
    <p><strong>邮箱:</strong> <a href="mailto:{$fields['email']}">{$fields['email']}</a></p>
    {/if}
    {if $fields['address']}
    <p><strong>地址:</strong> {$fields['address']}</p>
    {/if}
    {if $fields['qq']}
    <p><strong>QQ:</strong> <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin={$fields['qq']}&site=qq&menu=yes">{$fields['qq']}</a></p>
    {/if}
    {if $fields['weixin']}
    <p><strong>微信:</strong> {$fields['weixin']}</p>
    {/if}
    {if $fields['logo']}
    <p><strong>Logo:</strong> <img src="{dede:field.logo/}" alt="公司Logo" /></p>
    {/if}
{/dede:getOneArt}

代码解释

  • {dede:getOneArt id='1'}:获取 ID 为 1 的内容。
  • $fields:这是一个数组,包含了你在自定义模型中创建的所有字段值,字段名就是数组的键。
  • {if $fields['tel']}:判断该字段是否有值,避免显示空内容,是良好的编程习惯。
  • {dede:field.logo/}:对于图片等特殊字段,需要用 field.字段名 的方式来调用其完整路径。

使用 arclist 标签(如果内容较少)

如果你的“联系我们”只有一个,用 arclist 也可以实现,但稍显复杂。

{dede:arclist row='1' idlist='1'}
    <h2>联系我们</h2>
    <p><strong>电话:</strong> [field:tel/]</p>
    <p><strong>邮箱:</strong> <a href="mailto:[field:email/]">[field:email/]</a></p>
    <p><strong>地址:</strong> [field:address/]</p>
    <p><strong>QQ:</strong> [field:qq/]</p>
    <p><strong>微信:</strong> [field:weixin/]</p>
    <p><strong>Logo:</strong> <img src="[field:logo/]" alt="公司Logo" /></p>
{/dede:arclist}

代码解释

dede 联系方式标签
(图片来源网络,侵删)
  • row='1':只获取一条数据。
  • idlist='1':指定要获取的内容 ID。
  • [field:字段名/]arclist 标签内调用自定义字段使用此语法。

使用系统基本资料(最简单,但功能有限)

如果你的联系方式非常简单,只有几个固定的字段,可以直接使用 DedeCMS 自带的“基本资料”功能。

步骤 1:填写基本资料

  1. 进入后台:登录 DedeCMS 后台。
  2. 找到系统基本资料:在 系统 -> 系统基本参数 -> 核心设置 中。
  3. 填写信息
    • 公司名称公司名称
    • 公司版权信息版权信息
    • 联系电话你的电话
    • 联系邮箱你的邮箱
    • 公司地址你的地址
    • ... 等等。

步骤 2:在前台模板中调用

这些参数可以直接通过 global 标签或 $cfg_cmspath 等全局变量调用。

<h2>联系我们</h2>
<p><strong>公司名称:</strong> {dede:global.cfg_webname/}</p>
<p><strong>联系电话:</strong> {dede:global.cfg_call/}</p>
<p><strong>联系邮箱:</strong> <a href="mailto:{dede:global.cfg_adminemail/}">{dede:global.cfg_adminemail/}</a></p>
<p><strong>公司地址:</strong> {dede:global.cfg_companyaddress/}</p>

注意:这种方法简单直接,但不够灵活,无法添加 QQ、微信等自定义信息,且所有信息都混在系统设置里,不利于管理。


直接写在模板文件中(最不推荐)

如果你的网站只有一个,且内容永不改变,可以直接在模板文件(如 footer.htm)里用 HTML 写死。

<div class="contact-info">
    <p><strong>电话:</strong> 400-123-4567</p>
    <p><strong>邮箱:</strong> <a href="mailto:contact@example.com">contact@example.com</a></p>
    <p><strong>地址:</strong> 北京市某某区某某街道某某号</p>
</div>

缺点

  • 极不灵活:更换联系方式需要修改代码并重新上传文件。
  • 不便于维护:对于不懂代码的人来说非常困难。
  • 无法动态更新

总结与建议

方法 优点 缺点 适用场景
自定义模型 最灵活、最规范、可扩展性强、便于后台管理 需要前期进行模型和字段的设置 强烈推荐,适用于所有需要展示固定、结构化信息的场景,如“联系我们”、“公司简介”、“团队介绍”等。
系统基本资料 设置简单、无需创建模型 功能有限、字段固定、不灵活 仅适用于几个最基本、几乎不会变动的全局信息。
直接写死 最简单,无需任何标签知识 极不灵活、维护困难 仅适用于个人博客或一些非常简单的、内容永不变化的静态展示。

对于绝大多数网站,使用自定义模型是最佳选择,它充分利用了 DedeCMS 的功能,让内容管理和前台展示分离,更加专业和易于维护。

-- 展开阅读全文 --
头像
织梦分类信息插件如何安装使用?
« 上一篇 今天
dede调用图片不显示,怎么办?
下一篇 » 今天

相关文章

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

目录[+]