使用后台“广告管理”功能(最推荐、最灵活)
这是 DedeCMS 官方提供的标准方法,优点是 无需修改代码,可以在后台随时更换广告内容、控制广告的显示位置和时间,非常方便。

第一步:在后台添加广告
-
登录后台:使用你的管理员账号登录 DedeCMS 后台。
-
进入广告管理:在左侧菜单栏中,找到并点击 【核心】 -> 【广告管理】。
-
新增广告:在广告管理页面,点击右上角的 【新增广告】 按钮。
-
填写广告信息:
(图片来源网络,侵删)- 广告名称:给广告起一个容易识别的名字,“首页顶部通栏广告”,这个名字不会在前台显示,仅用于后台管理。
- 广告位置:选择一个广告位,这里的“广告位”其实是一个广告分类,如果没有合适的,你可以点击后面的【增加新位置】来创建一个,例如命名为
index_top。 - :这是最关键的一步,在这里粘贴你的广告代码。
- 如果是 图片广告,请粘贴
<a>和<img>标签。<a href="https://www.example.com" target="_blank"> <img src="/uploads/ad/banner.jpg" alt="广告图片" width="960" height="100" /> </a> - 如果是 代码广告(如 Google AdSense、百度广告等),请直接粘贴
<script>或<iframe>代码。
- 如果是 图片广告,请粘贴
- 广告类型:根据你的广告内容选择,如
图片、Flash、文字、代码、幻灯片等,选择正确的类型有助于系统更好地处理。 - 开始和结束时间:设置广告的生效期,如果不设置,广告将一直有效,这对于短期活动广告非常有用。
- 启用状态:确保勾选此项,否则广告不会在前台显示。
-
保存:点击【确定】或【保存】按钮,广告就添加成功了。
第二步:在模板文件中调用广告
广告添加成功后,你需要告诉 DedeCMS 在网站的哪个位置(哪个模板文件)显示它。
-
找到模板文件:使用 FTP 或文件管理器,登录你的网站服务器,进入
/templets/目录,然后找到你当前正在使用的模板文件夹(default)。 -
编辑模板文件:根据你想要显示广告的位置,打开对应的模板文件。
(图片来源网络,侵删)- 想在首页顶部显示,就打开
index.htm。 - 想在文章内容页显示,就打开
article_article.htm。
- 想在首页顶部显示,就打开
-
插入调用代码:在模板文件中,你希望广告出现的位置,插入以下调用代码:
{dede:myad name='广告位置名称'/}重要提示:这里的
name='广告位置名称'必须和你 第一步 中创建的广告位置名称 完全一致(包括大小写)。举例说明:
- 假设你在第一步中创建的广告位置名称是
index_top。 - 你想在首页
<header>标签下方显示它。 - 那么你就打开
index.htm文件,在<header>标签后面添加一行代码:
<header> <!-- ... 其他头部代码 ... --> </header> {dede:myad name='index_top'/} <main> <!-- ... 首页主要内容 ... --> </main> - 假设你在第一步中创建的广告位置名称是
-
更新生成:回到 DedeCMS 后台,点击 【生成】 -> 【一键更新网站】,或者只更新你修改过的页面,这样新的广告就会在前台显示了。
直接在模板文件中写死广告代码(最简单、但不灵活)
如果你只需要在一个非常固定的位置放一个不会轻易更换的广告,可以直接在模板文件中写入 HTML 代码。
操作步骤
-
登录后台,进入 【模板】 -> 【模板管理】。
-
选择你要修改的模板文件(
index.htm),点击后面的【修改】。 -
在模板代码中,找到你想要插入广告的位置,直接粘贴你的广告代码。
<div class="my-ad-container"> <!-- 直接在这里粘贴你的广告代码 --> <a href="https://www.example.com" target="_blank"> <img src="/uploads/ad/banner.jpg" alt="广告图片" width="960" height="100" /> </a> </div> -
点击【保存】。
优缺点分析
- 优点:
- 极其简单,无需后台设置。
- 调用速度快,没有额外的 PHP 解析过程。
- 缺点:
- 不灵活:每次更换广告都必须修改模板文件,然后重新生成网站,非常麻烦。
- 无法控制:无法设置广告的开始/结束时间,无法针对不同用户或页面进行管理。
此方法只适用于 完全静态、永不更换 的广告场景,对于绝大多数情况,强烈推荐方法一。
使用 {dede:tag} 标签实现“按需加载”广告(高级技巧)
你可能希望广告只在某些特定条件下显示,
- 只在文章内容页的第 2 段落后面显示。
- 只在分类 ID 为 5 的栏目页显示。
这时,你可以结合 {dede:tag} 标签和 PHP 代码来实现。
操作步骤
-
在后台添加广告:按照 方法一 的步骤,先把广告添加到后台,并记下它的广告位置名称(
content_ad)。 -
编辑模板文件:打开对应的模板文件,例如文章内容页模板
article_article.htm。 -
插入条件调用代码:在需要显示广告的位置,插入以下代码:
{dede:tag name='myad_content'} [field:body runphp='yes'] $ad = GetAdvertise('content_ad'); // 获取广告位置名为 'content_ad' 的广告 if($ad) { @me = "<div class='article-ad'>".$ad."</div>"; // 如果广告存在,则输出 } else { @me = ""; // 如果广告不存在或未启用,则输出空 } [/field:body] {/dede:tag}
代码解释:
{dede:tag name='myad_content'}...{/dede:tag}:这是一个标签块,你可以给它起个名字,方便管理。[field:body runphp='yes']...[/field:body]:这是在文章内容中执行 PHP 代码的经典方法。$ad = GetAdvertise('content_ad');:这是核心函数,它会从数据库中获取指定名称(content_ad)的广告内容,并赋值给变量$ad。if($ad) { ... } else { ... }:判断是否成功获取到广告,如果获取到了(广告已启用),就将广告代码包装在一个div里输出;如果没有获取到,就输出空,避免显示空白区域。
这种方法非常强大,可以实现各种复杂的广告逻辑。
总结与建议
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 后台广告管理 | 灵活、方便、可控制时间 | 需要调用标签,有极轻微的性能开销 | 绝大多数场景,是首选和最佳实践 |
| 直接写死代码 | 简单、直接、无开销 | 极不灵活、修改麻烦 | 永久不变,且位置固定 |
| 条件加载广告 | 极其灵活、可定制化 | 代码稍复杂,需要 PHP 基础 | 需要根据特定条件(如页面类型、内容位置)显示广告 |
给你的最终建议:
- 新手或常规使用:请直接使用 方法一,这是 DedeCMS 设计的初衷,也是最规范、最方便的方式。
- 有特殊需求:如果广告的显示逻辑非常复杂,无法通过简单调用满足,再考虑使用 方法三。
- 尽量避免:除非你有特殊原因,否则尽量不要使用 方法二,因为它会让你未来的网站维护变得非常痛苦。
