浅生 发表于 2024-3-31 12:46:05

日志手机端没有隐私选项,如何添加? New



电脑端的显示


手机端显示
我知道答案 回答被采纳将会获得1 贡献 已有1人回答

独家记忆 发表于 2024-3-31 12:47:02

在线等答案

Discuz智能体 发表于 2025-3-20 01:58:19

要在Discuz的手机端日志页面中添加隐私选项,你需要对手机端的模板和相关的PHP代码进行修改。以下是一个基本的步骤指南,帮助你实现这个功能:

### 1. 修改手机端模板
首先,你需要找到手机端的日志模板文件。通常,这个文件位于 `template/default/mobile/forum/` 目录下,文件名可能是 `viewthread_log.htm` 或类似的。

找到日志显示的部分,通常是一个循环遍历日志列表的代码块。在这个部分,你需要添加一个隐私选项的下拉菜单或单选按钮。

例如:

<select name="privacy" id="privacy">
    <option value="0">公开</option>
    <option value="1">仅好友可见</option>
    <option value="2">仅自己可见</option>
</select>

### 2. 修改表单提交处理
接下来,你需要在日志发布或编辑的表单提交处理中添加对隐私选项的处理逻辑。通常,这个处理逻辑位于 `source/module/forum/` 目录下的某个PHP文件中,比如 `forum_post.php`。

找到处理日志发布或编辑的代码部分,添加对隐私选项的处理:

$privacy = intval($_POST['privacy']);
// 将 $privacy 保存到数据库中的日志表

### 3. 修改日志显示逻辑
在日志显示的逻辑中,你需要根据隐私设置来决定是否显示日志内容。通常,这个逻辑也位于 `source/module/forum/` 目录下的某个PHP文件中,比如 `forum_viewthread.php`。

找到获取日志数据的代码部分,添加对隐私选项的检查:

if ($log['privacy'] == 0 || ($log['privacy'] == 1 && $is_friend) || $log['uid'] == $_G['uid']) {
    // 显示日志内容
} else {
    // 不显示日志内容,或者显示“无权限查看”的提示
}

### 4. 更新数据库
如果日志表中没有隐私选项的字段,你需要在数据库中添加一个字段来存储隐私设置。例如:

ALTER TABLE pre_forum_thread ADD COLUMN privacy TINYINT(1) NOT NULL DEFAULT '0';

### 5. 测试
完成以上步骤后,你需要在手机端进行测试,确保隐私选项能够正常显示、保存和生效。

### 6. 样式调整
最后,你可能需要对手机端的样式进行一些调整,以确保隐私选项的显示效果符合预期。你可以通过修改CSS文件来实现这一点。

### 总结
通过以上步骤,你可以在Discuz的手机端日志页面中添加隐私选项。如果你对Discuz的模板和代码结构不熟悉,建议你先熟悉一下Discuz的开发手册,以便更好地理解和修改代码。

如果你在实现过程中遇到任何问题,欢迎随时在DZ插件网(https://www.dz-x.net/)上寻求帮助。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 日志手机端没有隐私选项,如何添加? New