使用 DedeCMS 内置的 {dede:php} 标签(最灵活)
这种方法的核心思想是:在内容页模板中,使用 PHP 代码来判断当前访问者是否为已登录会员,如果不是,则显示登录框或提示信息;如果是,则显示正常内容。

(图片来源网络,侵删)
优点:
- 灵活性极高:可以精确控制要隐藏的内容,甚至可以隐藏文章中的某几句话或某个图片。
- 无需修改核心文件:只涉及模板文件的修改,安全且升级方便。
缺点:
- 需要用户具备一定的 PHP 和模板语法基础。
详细操作步骤:
第 1 步:定位并打开文章内容模板文件
- 登录您的 DedeCMS 后台。
- 进入【模板】 -> 【默认模板管理】。
- 找到并点击【文章列表模板】或【文章内容页模板】,通常内容页模板的文件名是
article_article.htm。 - 点击【修改】,在新的页面中打开这个模板文件。
第 2 步:在模板中添加判断逻辑

(图片来源网络,侵删)
在 article_article.htm 文件中,找到您希望被保护的内容(一个下载链接、一段文字、一个图片等),然后用 {dede:php} 标签将其包裹起来。
核心代码结构如下:
{dede:php}
// 1. 判断当前用户是否是会员
if($cfg_ml->IsLogin())
{
// 2. 如果是已登录会员,则显示正常内容
echo '<!-- 这里是给会员看的内容 -->';
echo '<p>恭喜您,尊敬的会员!这是您才能看到的隐藏内容。</p>';
echo '<a href="download.zip">点击下载资源</a>';
}
else
{
// 3. 如果是未登录访客,则显示提示信息或登录框
echo '<!-- 这里是给未登录用户看的内容 -->';
echo '<div style="border:1px dashed #ccc; padding:10px; background:#f9f9f9; text-align:center;">';
echo '<p>您需要<a href="/member/index.php?jumpurl={dede:field name='phpurl'/}/login.php?gotopage={dede:field name='phpurl'/}/reg_new.php" target="_blank">登录</a>后才能查看此内容。</p>';
echo '<p>如果您还不是会员,请先<a href="/member/index.php?jumpurl={dede:field name='phpurl'/}/reg_new.php" target="_blank">注册</a>。</p>';
echo '</div>';
}
{/dede:php}
代码解释:
{dede:php} ... {/dede:php}:这是 DedeCMS 的 PHP 代码执行标签,可以让你在模板中直接写 PHP 代码。$cfg_ml->IsLogin():这是 DedeCMS 会员系统的一个核心方法,如果用户已登录,它返回true;否则返回false。echo '...':在 PHP 中,echo用于向页面输出字符串,我们把需要显示的 HTML 代码用echo输出。{dede:field name='phpurl'/}:这是一个 DedeCMS 的字段标签,用于获取网站php文件夹的路径,如/member/,这样写可以保证链接的绝对正确性。gotopage参数:用于在用户登录成功后,自动跳转回当前被保护的页面,提升用户体验。
第 3 步:保存并更新

(图片来源网络,侵删)
- 点击模板编辑器中的【保存】按钮。
- 回到后台首页,进入【生成】 -> 【一键更新网站】。
- 建议选择“所有栏目”并“生成所有”,以确保修改生效。
当未登录用户访问该文章时,就会看到您设置的提示信息;而登录后的会员则可以看到完整内容。
使用 DedeCMS 的“需要会员登录才能查看”功能(最简单)
DedeCMS 后台自带了一个非常方便的功能,可以直接在发布文章时设置该文章是否需要登录才能查看,这种方法适合保护整篇文章。
优点:
- 操作简单:无需修改代码,在后台勾选即可。
- 功能直观:一目了然,适合非技术人员。
缺点:
- 灵活性差:只能控制整篇文章的可见性,无法隐藏文章中的部分内容。
详细操作步骤:
第 1 步:发布或编辑文章
- 登录 DedeCMS 后台,进入【核心】 -> 发布管理】 -> 【添加文档】(或编辑已有文档)。
- 填写文章标题、内容等信息。
第 2 步:设置会员权限
在文章编辑页面,找到 “选项” 这个区域,找到并勾选 “需要会员登录才能查看” 这个选项。
第 3 步:保存文档
点击【确定】或【保存】按钮发布文章。
第 4 步:生成文章
同样,为了让修改生效,需要进入【生成】 -> 【一键更新网站】,更新对应的文章页面。
效果:
- 对于普通访客,访问这篇文章时,页面只会显示一个提示框,内容如:“您还没有登录,请先登录!”,并且不会显示文章正文。
- 对于已登录的会员,则可以正常阅读文章全文。
总结与对比
| 特性 | 方法一 ({dede:php}
| |
|---|---|---|
| 灵活性 | 极高,可精确到内容中的任意部分 | 较低,只能控制整篇文章 |
| 操作难度 | 需要一定的代码基础 | 非常简单,后台勾选即可 |
| 适用场景 | 隐藏下载链接、联系方式、部分关键信息、付费视频/图片等 | 保护整个文章、教程、资源等 |
| 维护性 | 修改模板文件,相对复杂 | 在后台直接修改文章,非常方便 |
| 安全性 | 安全,不涉及核心文件 | 安全,官方功能 |
如何选择?
- 如果您只想保护文章的,并且希望操作尽可能简单,请选择 方法二。
- 如果您想在文章中隐藏部分内容(只在文末给会员一个下载链接),或者需要更精细的控制,请选择 方法一。
对于大多数网站来说,方法一 因为其灵活性,是更常用和更强大的解决方案。
