使用DedeCMS的{dede:hide}和{/dede:hide}标签(官方推荐,最常用)
这是DedeCMS内置的专门用于隐藏内容的功能,也是最安全、最规范的方法,它通过“自定义模型”和“自定义字段”来实现。

(图片来源网络,侵删)
原理: 在后台设置一个字段,该字段的“显示方式”被设置为“隐藏”,然后在内容页使用特定标签来调用和显示这部分隐藏的内容。
适用场景:
- 需要用户登录后才能看到隐藏内容。
- 需要用户支付后才能看到隐藏内容。
- 需要管理员审核后才能显示。
操作步骤:
-
进入后台 -> 核心 -> 内容模型管理 -> 选择你正在使用的模型(文章模型”)-> 修改。
(图片来源网络,侵删) -
在模型字段管理中,点击 [增加新字段]。
-
填写字段信息:
- 字段名:
hide_content(英文,不能有特殊字符) - 字段别名: (中文,方便识别)
- 字段类型:
大文本 - 显示方式: 这是最关键的一步! -> 选择
隐藏。 - 其他选项保持默认即可。
- 字段名:
-
保存模型,系统会提示你更新数据库,点击“是”。
-
发布或编辑文章:
(图片来源网络,侵删)- 在后台发布文章时,你会发现新增的“隐藏内容”字段。
- 在这个字段里输入你想要隐藏的代码或文字。
<p>这是一段隐藏的VIP专享内容。</p>。
-
在前端模板中调用:
- 打开你的文章内容页模板文件,通常位于
/templets/default/article_article.htm。 - 在你需要显示隐藏内容的位置,插入以下代码:
{dede:hide} [field:hide_content/] {/dede:hide}
- 打开你的文章内容页模板文件,通常位于
工作流程:
- 未登录用户:在页面上会看到“您需要先登录才能查看隐藏内容。”或类似的提示文字。
- 已登录用户:如果用户有权限(通常是普通会员),会直接看到隐藏的内容。
- 管理员:可以正常看到和编辑。
如何实现付费查看?
这个功能通常需要配合DedeCMS的付费阅读插件或二次开发,核心逻辑是:在{dede:hide}标签外面包裹一个判断条件,检查当前用户是否已购买该文章。
使用HTML/CSS注释(纯前端隐藏,不可见)
这种方法非常简单,只是在前端代码中隐藏内容,用户查看源代码时仍然可以看到。
适用场景:
- 给自己或开发者留一些备注。
- 临时隐藏一些内容,以后再显示。
- 不希望普通用户在页面上直接看到,但又不涉及权限。
方法:
使用HTML的注释标签 <!-- 和 -->。
示例:页模板(article_article.htm)或文章编辑器中,直接输入:
<!-- 这是一个给开发者的备注,说明这里后续会加入一个广告位。 --> <p>这是正常的公开内容。</p> <!-- <p>这是一段不希望被用户看到的隐藏内容。</p> -->
优缺点:
- 优点:简单、快速,无需后台设置。
- 缺点:
- 任何人都可以在浏览器“查看网页源代码”时看到。
- 内容不会被搜索引擎索引。
- 纯粹的视觉隐藏,没有任何安全性。
使用JavaScript动态加载(前端隐藏,需交互)
这种方法通过JavaScript来控制内容的显示和隐藏,通常配合一个按钮或链接。
适用场景:
- 创建一个“展开/收起”的详情区域。
- 在用户点击某个元素后才显示额外内容,提升页面交互性。
方法: 在模板文件中写入HTML和JavaScript代码。
示例:
在article_article.htm模板中,将以下代码粘贴到你需要的位置:
<p>这是公开的摘要内容...</p>
<!-- 隐藏的内容,默认隐藏 -->
<div id="hiddenJSContent" style="display: none;">
<p>这是通过JavaScript点击后才能看到的隐藏内容。</p>
<p>这里可以是任何HTML代码,比如图片、视频等。</p>
</div>
<!-- 点击这个按钮来显示/隐藏内容 -->
<a href="javascript:;" id="toggleButton">点击查看详情</a>
<script type="text/javascript">
document.getElementById('toggleButton').onclick = function() {
var content = document.getElementById('hiddenJSContent');
if (content.style.display === 'none') {
content.style.display = 'block';
this.innerHTML = '点击收起详情'; // 按钮文字改变
} else {
content.style.display = 'none';
this.innerHTML = '点击查看详情';
}
};
</script>
优缺点:
- 优点:交互性好,用户体验佳。
- 缺点:
- 同样可以通过“查看源代码”看到内容,没有安全性。
- 如果用户禁用了JavaScript,内容将无法显示。
直接修改模板(硬编码,不推荐)
这是一种最直接但也是最不灵活的方法,直接在模板文件里写死需要隐藏的代码,并用{dede:if}等条件标签来控制。
适用场景:
- 给特定用户(如管理员)显示一些操作按钮。
- 非常固定的、不常变的隐藏逻辑。
示例: 假设只想对管理员显示一段代码。
{dede:if useradmin='yes'}
<!-- 只有管理员才能看到这段代码 -->
<a href="dede/sys_edit.php?aid={dede:field.id/}">进入编辑</a>
{/dede:if}
优缺点:
- 优点:逻辑直接。
- 缺点:
- 不灵活:如果隐藏需求改变(比如从“管理员”变成“VIP会员”),就必须修改模板文件。
- 维护困难:硬编码的内容难以管理,尤其在多人协作时。
- 可移植性差:更换模板时,这些硬编码的逻辑很容易被遗漏。
总结与推荐
| 方法 | 安全性 | 灵活性 | 易用性 | 适用场景 |
|---|---|---|---|---|
{dede:hide} |
高 (结合会员系统) | 高 (可关联权限) | 中 (需后台配置) | 需要权限控制的隐藏内容,如VIP内容、付费阅读 |
| HTML/CSS注释 | 无 | 低 | 高 | 开发者备注、临时隐藏、非关键信息 |
| JavaScript动态加载 | 无 | 中 | 中 | 提升页面交互性,如“展开/收起”功能 |
| 直接修改模板 | 中 | 低 | 低 | 特定用户(如管理员)的固定功能按钮 |
最终建议:
- 如果你的目标是实现会员付费阅读或登录后查看,请务必使用 方法一 (
{dede:hide},这是DedeCMS设计的标准方式,也是最稳定和安全的选择。 - 如果你只是想给自己留个备注或者临时隐藏一些无关紧要的内容,使用 方法二 (HTML注释) 即可,简单快捷。
- 如果你想增加页面的趣味性和交互性,让用户点击后才看到更多信息,方法三 (JavaScript) 是一个很好的选择。
