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

(图片来源网络,侵删)
使用自定义模型(推荐,最灵活、最规范)
这是 DedeCMS 的核心思想之一,当您需要添加一个固定的、非文章类型的内容块时(如“联系我们”页面),最佳实践是创建一个自定义模型。
步骤 1:创建自定义模型
- 进入后台:登录 DedeCMS 后台。
- 找到模型管理:在
核心->内容模型管理中,点击增加新模型。 - 填写模型信息:
- 模型名称:填写一个你喜欢的名字,
联系我们。 - 模型表前缀:系统会自动生成,如
dede_+ 一串随机字符,无需修改。 - 字段列表:这是最关键的一步,点击
增加新字段,为你需要的联系方式信息添加字段。- 字段名:
tel(电话) - 字段类型:
单行文本 - 字段提示:
请输入联系电话 - 保存字段
- 继续添加:
email(邮箱),类型为单行文本address(地址),类型为多行文本(如果地址较长)qq(QQ),类型为单行文本weixin(微信),类型为单行文本logo(公司Logo),类型为媒体图片
- 字段名:
- 完成创建:所有字段添加完毕后,点击
提交保存模型。
- 模型名称:填写一个你喜欢的名字,
步骤 2:添加自定义内容
- 管理:在后台
常用->内容发布管理中,你应该能看到你刚刚创建的联系我们模型。 - :点击
增加一个新的内容项。 - :
- 编辑页面,填写你刚刚创建的各个字段,如电话、邮箱、地址等。
- 可以填写为“联系我们”。
- 这里可以填写更详细的介绍,或者留空。
- 点击
保存。
步骤 3:在前台模板中调用
这是最核心的调用部分,假设你添加的联系方式的 ID 是 1(你可以在后台内容列表中查看)。
使用 GetOneArt 获取单条数据(最常用)
这个标签用于获取指定 ID 的文章(或自定义内容)的所有信息。

(图片来源网络,侵删)
{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}
代码解释:

(图片来源网络,侵删)
row='1':只获取一条数据。idlist='1':指定要获取的内容 ID。[field:字段名/]:arclist标签内调用自定义字段使用此语法。
使用系统基本资料(最简单,但功能有限)
如果你的联系方式非常简单,只有几个固定的字段,可以直接使用 DedeCMS 自带的“基本资料”功能。
步骤 1:填写基本资料
- 进入后台:登录 DedeCMS 后台。
- 找到系统基本资料:在
系统->系统基本参数->核心设置中。 - 填写信息:
- 公司名称:
公司名称 - 公司版权信息:
版权信息 - 联系电话:
你的电话 - 联系邮箱:
你的邮箱 - 公司地址:
你的地址 - ... 等等。
- 公司名称:
步骤 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 的功能,让内容管理和前台展示分离,更加专业和易于维护。
