在Discuz!系统中修改提示信息页面的返回链接,可通过以下两种专业方案实现:
一、核心文件修改方案(推荐给有开发经验者)
1. 定位到语言包文件:
/source/language/lang_message.php
找到以下代码段:
- 'return_prev' => '返回上一页',
复制代码
修改为:
- 'return_prev' => '<a href="/" class="alert-link">返回网站首页</a>',
复制代码
2. 修改跳转逻辑(可选):
在/source/class/discuz/discuz_application.php中找到showmessage方法:
- $jumpurl = str_replace('&', '&', $jumpurl);
复制代码
在该行上方添加:
- if(empty($jumpurl) || strpos($jumpurl, 'http') === false){
- $jumpurl = $_G['siteurl']; // 强制跳转首页
- }
复制代码
二、模板覆盖方案(适合普通站长)
1. 进入模板目录:
/template/当前模板/common/
2. 创建message.htm文件(如不存在则新建),加入以下内容:
- <!--{subtemplate common/header}-->
- <div id="pt" class="bm cl">$navigation</div>
- <div class="wp">
- <div class="notice">
- <div class="alert alert-info">
- <p>{lang message}</p>
- <!--{if $url_forward}-->
- <p><a href="$url_forward">$_G['lang']['forward_now']</a></p>
- <!--{/if}-->
- <p class="alert_extra"><a href="/">返回网站首页</a></p>
- </div>
- </div>
- </div>
- <!--{subtemplate common/footer}-->
复制代码
三、插件扩展方案(推荐长期维护站点)
可通过开发轻量级插件实现:
1. 创建插件目录结构:
myredirect/
├── discuz_plugin_myredirect.xml
└── source/
└── plugin/
└── myredirect/
├── class/
│ └── model/
│ └── Redirect.php
└── template/
└── message.htm
2. 在Redirect.php中通过继承机制重写跳转逻辑:
- class model_Redirect extends discuz_application{
- public function showmessage(){
- // 自定义跳转逻辑
- }
- }
复制代码
注意事项:
1. 修改前务必做好文件备份
2. 模板方案需保持与原始模板结构一致
3. 若使用CDN加速,修改后需刷新缓存
4. 建议配合URL重写规则(伪静态)优化首页路径
修改完成后,所有系统提示信息(如登录提示、权限提示、操作成功提示等)的返回链接都将统一指向网站首页。如需针对不同场景设置不同跳转路径,可通过判断$_GET参数实现精细化控制。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 |