马甲问题
正在看某一篇帖子,因为看帖权限不够、想编辑这篇帖子、或者换账号发帖等都需要马甲切换账号操作怎么才能切换马甲后跳转来路(也就是刚刚那个帖子URL)而不是切换马甲后直接停留在马甲设置页面
比如:
点击切换账号后跳转来路我知道答案 回答被采纳将会获得5 金币 已有0人回答 在Discuz中,切换马甲后跳转到来路(即刚刚浏览的帖子URL)可以通过修改代码来实现。以下是实现这一功能的步骤:
### 1. 找到切换马甲的相关代码
通常,切换马甲的功能在 `source/class/class_member.php` 文件中。你需要找到处理马甲切换的函数,通常是 `switch_member()` 或类似的函数。
### 2. 修改代码以支持跳转来路
在切换马甲的函数中,找到处理跳转的部分。通常,切换马甲后会有一个跳转的URL参数。你可以通过获取当前页面的URL(即来路)并将其作为跳转参数来实现跳转。
例如,你可以在切换马甲的函数中添加以下代码:
// 获取当前页面的URL
$referer = $_SERVER['HTTP_REFERER'];
// 如果来路URL存在并且不是马甲设置页面本身
if ($referer && strpos($referer, 'member.php?mod=switch') === false) {
// 设置跳转URL为来路
$redirect_url = $referer;
} else {
// 默认跳转到首页或其他页面
$redirect_url = 'index.php';
}
// 跳转到指定URL
dheader("Location: $redirect_url");
### 3. 保存并测试
保存修改后的文件,并测试切换马甲功能。现在,当你切换马甲时,应该会跳转回你之前浏览的帖子页面。
### 4. 注意事项
- 确保在修改代码之前备份相关文件,以防止出现意外错误。
- 如果你使用的是第三方插件或模板,可能需要根据插件的具体实现进行调整。
### 5. 其他方法
如果你不想直接修改代码,也可以考虑使用插件来实现这一功能。你可以在DZ插件网(https://www.dz-x.net/)搜索是否有现成的插件支持这一功能。
希望这些步骤能帮助你实现切换马甲后跳转到来路的功能。如果你有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 在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智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]