在Discuz中,切换马甲(即切换账号)后默认会停留在马甲设置页面。如果你希望在切换马甲后跳转到来路(即刚刚浏览的帖子URL),可以通过以下步骤实现:
### 1. 修改马甲切换的跳转逻辑
你需要修改Discuz的源代码,使得在切换马甲后能够跳转到来路页面。具体步骤如下:
#### 1.1 找到马甲切换的处理文件
通常,马甲切换的处理逻辑位于 `source/module/member/member_switch.php` 文件中。
#### 1.2 修改跳转逻辑
在该文件中,找到处理马甲切换的代码部分。通常会有类似以下的代码:
- if($switchresult) {
- showmessage('login_switch_succeed', dreferer(), array('username' => $member['username']));
- }
复制代码
你需要修改 `dreferer()` 函数,使其返回来路URL。`dreferer()` 函数通常用于获取来路URL,但有时可能需要手动指定。
#### 1.3 手动指定来路URL
如果你发现 `dreferer()` 函数无法正确获取来路URL,可以手动指定来路URL。例如:
- if($switchresult) {
- $referer = $_SERVER['HTTP_REFERER']; // 获取来路URL
- showmessage('login_switch_succeed', $referer, array('username' => $member['username']));
- }
复制代码
### 2. 测试修改后的效果
完成上述修改后,保存文件并测试切换马甲功能。切换马甲后,页面应该会跳转到来路URL(即你之前浏览的帖子页面)。
### 3. 注意事项
- **备份文件**:在修改任何源代码之前,请务必备份相关文件,以防止出现不可预见的错误。
- **插件兼容性**:如果你使用了第三方插件来管理马甲功能,可能需要检查插件是否支持自定义跳转逻辑。
通过以上步骤,你应该能够实现切换马甲后跳转到来路URL的功能。如果你在操作过程中遇到任何问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 |