dede浏览权限提示信息怎么修改?

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

对不起,您浏览的页面不存在或者已被删除! 或者 您所在的会员组,无法查看此内容!

dede浏览权限提示信息修改
(图片来源网络,侵删)

下面我将为您提供几种详细的修改方法,从简单到复杂,您可以根据自己的技术能力选择最合适的一种。


直接修改 PHP 模板文件(最直接、最常用)

这是最简单直接的方法,适用于绝大多数情况,DedeCMS 的错误提示信息通常存储在特定的 PHP 文件中。

场景 1:修改“内容不存在”的提示

这个提示通常出现在 article_article.htm 这个文章内容页模板中,但它的触发逻辑可能在 PHP 文件里,更常见的,这个提示是由 include/helpers/channelunit.helper.php 文件控制的。

  1. 找到并打开文件: 使用 FTP 或主机控制面板的文件管理器,找到并编辑以下文件: /include/helpers/channelunit.helper.php

    dede浏览权限提示信息修改
    (图片来源网络,侵删)
  2. 定位并修改代码: 在文件中搜索 对不起,您浏览的页面不存在或者已被删除! 这段文字,您会找到类似这样的代码:

    // ... 其他代码 ...
    if($artInfos['arcrank'] != -1)
    {
        $GLOBALS['envs']['notfound'] = TRUE;
        // 在这里找到提示信息
        ShowMsg("对不起,您浏览的页面不存在或者已被删除!", "-1", 0, 2000);
        exit();
    }
    // ... 其他代码 ...

    找到 ShowMsg(...) 这一行,将第二个参数(提示文字)修改为您想要的内容。 修改为:

    ShowMsg("该内容需要登录后才能查看,请先<a href='/member/login.php'>登录</a>!", "-1", 0, 2000);
  3. 保存文件: 保存修改后的 channelunit.helper.php 文件,刷新网站,您就能看到新的提示信息了。

场景 2:修改“会员组权限不足”的提示

这个提示通常在文章列表页(list_article.htm页(article_article.htm)通过 {dede:field name='templet' runphp='yes'} 这样的逻辑判断来显示。

dede浏览权限提示信息修改
(图片来源网络,侵删)
  1. 找到并打开文件: 最有可能的文件是文章内容页模板: /templets/default/article_article.htm

  2. 定位并修改代码: 在模板文件中,搜索包含 arcrank会员组 等关键词的代码块,您可能会找到类似这样的 PHP 代码块:

    {dede:field name='templet' runphp='yes'}
    if(@me > -1) {
        @me = '';
    } else {
        // 这就是权限不足的提示
        @me = '<div class="error-tip">您所在的会员组,无法查看此内容!</div>';
    }
    {/dede:field}

    或者,在某些模板中,它可能是一个更简单的判断:

    {dede:field name='arcrank' runphp='yes'}
    if(@me > -1) {
        @me = '';
    } else {
        @me = '<div class="error-tip">该内容仅对特定会员开放,请联系管理员升级会员组!</div>';
    }
    {/dede:field}

    找到这段代码,将 @me = '...' 单引号中的文字修改为您想要的新提示信息。

  3. 保存文件: 保存 article_article.htm 文件,然后刷新网站。


修改全局提示信息(通过后台设置)

DedeCMS 后台有一个全局的消息提示模板,可以统一修改大部分 ShowMsg() 函数调用的样式和文字。

  1. 登录 DedeCMS 后台:使用管理员账号登录。

  2. 进入系统设置

    • 在左侧菜单栏找到 “系统” -> “系统基本参数”
    • 点击进入后,在顶部找到 “核心设置” 选项卡。
  3. 找到并修改相关参数: 在核心设置列表中,找到以下几个参数并进行修改:

    • cfg_showmsg:这个是消息提示框的 HTML 模板,您可以修改它的样式,但里面的提示文字是动态传入的,所以这里主要改样式。
    • cfg_notfound:这个是页面“未找到”时显示的文字。这通常就是您要找的第一个提示信息!
      • 默认值可能是:对不起,您浏览的页面不存在或者已被删除!
      • 您可以直接在这里修改,需要登录后才能查看,请先<a href='/member/login.php'>登录</a>!
    • cfg_arcnotfound:这个是文章“未找到”时的特定提示,优先级高于 cfg_notfound
  4. 保存设置: 修改完成后,务必点击页面底部的 “保存基本参数” 按钮。


创建自定义错误页面(最专业、最灵活)

如果您希望有更美观、更统一的错误页面,而不是一个简单的弹窗提示,可以采用自定义错误页面的方法。

  1. 创建自定义模板文件: 在您的模板目录(/templets/您的模板名/)下,创建一个新的 HTML 文件,比如命名为 member_no_permission.htm。 在这个文件中,您可以自由设计页面内容,

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>访问受限</title>
        <link rel="stylesheet" href="/templets/您的模板名/style/css.css" />
    </head>
    <body>
        <div class="error-page">
            <h1>抱歉,您无法访问此内容</h1>
            <p>该内容仅对特定会员开放,或者您尚未登录。</p>
            <p>
                <a href="/member/login.php" class="btn-login">立即登录</a>
                <a href="/" class="btn-home">返回首页</a>
            </p>
        </div>
    </body>
    </html>
  2. 修改 PHP 文件进行调用: 回到方法一中的 channelunit.helper.php 文件,找到 ShowMsg(...) 的地方,将其修改为 requireinclude 您的新模板。

    // 原来的代码
    // ShowMsg("对不起,您浏览的页面不存在或者已被删除!", "-1", 0, 2000);
    // 修改后的代码
    require_once(DEDETEMPLATE.'/您的模板名/member_no_permission.htm');
    exit();

    这样,当权限不足时,就会跳转到您设计的精美页面,而不是那个简单的弹窗。


总结与建议

方法 优点 缺点 适用场景
方法一 (修改PHP文件) 最直接、快速,针对性强 需要修改核心文件,升级DedeCMS时可能被覆盖 快速修改,临时解决,对技术要求低
方法二 (后台设置) 最安全,不修改核心文件,升级无忧 可定制性差,只能修改固定参数的文字 修改通用的“页面不存在”等系统提示
方法三 (自定义页面) 最专业、美观,用户体验好 需要一定的HTML/CSS知识,修改稍复杂 追求网站品牌形象,希望提供统一的错误体验

给您的建议:

  • 如果只是想快速改掉一两句话方法一 是最快的选择。
  • 如果希望一劳永逸,并且不担心升级问题方法二 是最稳妥的选择。
  • 如果您是网站开发者或站长,对网站体验有较高要求,强烈推荐 方法三

在修改之前,请务必备份您要修改的文件!以防修改出错,可以快速恢复。

-- 展开阅读全文 --
头像
dede文章页如何调用tag标签?
« 上一篇 前天
C语言switch中char类型如何正确使用?
下一篇 » 前天

相关文章

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

目录[+]