·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

手机版首页四格显示指定版块 New

250 3
发表于 2024-2-28 15:43:21 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
后台设置的指定版块是全部分类都只显示指定版块内容,我的想法是让四格某个分类只显示指定版块帖子,比如最新帖子或者最新回复指定显示某个版块帖子,其它分类比如热帖、精华啥的还是正常显示全部版块
求大佬说说怎么改,谢谢!

我知道答案 回答被采纳将会获得1 贡献 已有1人回答
我要说一句 收起回复

评论3

CrystαlLv.8 发表于 2024-2-28 15:44:14 | 查看全部
想在 自带的四格的基础上改是比较麻烦的…… 建议还是 直接diy一个 四格吧…… 或者去安装个 插件……
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-17 15:30:05 | 查看全部
要实现手机版首页四格不同分类显示不同版块内容,可通过以下步骤修改:

1. 找到四格模块的调用文件(通常是source/module/forum/forum_index.php),定位到mobileindex四格数据获取部分

2. 在获取数据数组前添加版块过滤条件,示例代码:

  1. // 最新帖子部分
  2. if($type == 'newthread'){ // 判断是最新帖子分类
  3.     $fids = '1,2,3'; // 替换为指定版块ID
  4.     $query = C::t('forum_thread')->fetch_all_by_authorid(0, 'dateline', $fids, 0, 0, 10);
  5. }

  6. // 最新回复部分
  7. if($type == 'newreply'){
  8.     $fids = '4,5'; // 替换为指定版块ID
  9.     $query = C::t('forum_post')->fetch_all_by_authorid(0, $fids, 'post', 0, 10);
  10. }
复制代码


3. 保留其他分类(如hot,digest)原有的查询逻辑不变

4. 在模板文件(template/default/mobile/forum/index.htm)中对应的循环区域添加版块标记:

  1. <!--{loop $newthreads $thread}-->
  2.     <!--{if in_array($thread['fid'], array(1,2,3))}--> // 匹配指定版块
  3.         // 显示内容
  4.     <!--{/if}-->
  5. <!--{/loop}-->
复制代码


5. 如需动态配置,建议在后台扩展设置参数:
- 在source/admincp/admincp_setting.php中添加版块选择表单
- 通过$_G['setting']['mobileindex_fids_newthread']获取配置值

修改前请注意:
1. 备份原始文件
2. 不同Discuz版本代码位置可能略有不同
3. 多版块ID用英文逗号分隔
4. 更新缓存后测试效果

如果需要更细致的分类控制,建议通过二次开发实现模块化调用策略。我们DZ插件网有现成的《手机版分版块显示插件》可快速实现这个需求,支持:
- 每个四格分类独立设置版块
- 支持排除指定版块
- 可视化后台配置
- 多风格适配

修改核心文件存在升级覆盖风险,推荐使用插件方式实现更稳妥。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-17 15:33:30 | 查看全部
要实现手机版首页四格显示指定版块的功能,你可以通过修改模板文件和插件代码来实现。以下是一个基本的实现思路:

### 1. 修改模板文件
首先,你需要找到手机版首页四格的模板文件。通常这个文件位于 `template/default/mobile/forum/discuz.htm` 或类似的路径下。

在模板文件中,找到四格显示的部分代码。通常会有类似以下的代码:

  1. <!-- 最新帖子 -->
  2. <div class="module">
  3.     <ul>
  4.         <!--{loop $newthreadlist $thread}-->
  5.         <li><a href="forum.php?mod=viewthread&tid=$thread[tid]">$thread[subject]</a></li>
  6.         <!--{/loop}-->
  7.     </ul>
  8. </div>

  9. <!-- 最新回复 -->
  10. <div class="module">
  11.     <ul>
  12.         <!--{loop $newreplylist $reply}-->
  13.         <li><a href="forum.php?mod=viewthread&tid=$reply[tid]">$reply[subject]</a></li>
  14.         <!--{/loop}-->
  15.     </ul>
  16. </div>

  17. <!-- 热帖 -->
  18. <div class="module">
  19.     <ul>
  20.         <!--{loop $hotthreadlist $thread}-->
  21.         <li><a href="forum.php?mod=viewthread&tid=$thread[tid]">$thread[subject]</a></li>
  22.         <!--{/loop}-->
  23.     </ul>
  24. </div>

  25. <!-- 精华帖子 -->
  26. <div class="module">
  27.     <ul>
  28.         <!--{loop $digestthreadlist $thread}-->
  29.         <li><a href="forum.php?mod=viewthread&tid=$thread[tid]">$thread[subject]</a></li>
  30.         <!--{/loop}-->
  31.     </ul>
  32. </div>
复制代码


### 2. 修改数据获取逻辑
接下来,你需要修改数据获取的逻辑,使得某些分类(如最新帖子、最新回复)只显示指定版块的帖子,而其他分类(如热帖、精华)仍然显示全部版块的帖子。

你可以在 `source/module/forum/forum_index.php` 或类似的控制器文件中找到数据获取的逻辑。找到获取最新帖子、最新回复、热帖、精华帖子的部分代码。

例如,获取最新帖子的代码可能如下:

  1. $newthreadlist = C::t('forum_thread')->fetch_all_by_fid($fid, 'dateline', 'DESC', 0, 10);
复制代码


你可以修改这部分代码,使其只获取指定版块的帖子。例如:

  1. $specified_fid = 123; // 指定版块的ID
  2. $newthreadlist = C::t('forum_thread')->fetch_all_by_fid($specified_fid, 'dateline', 'DESC', 0, 10);
复制代码


对于其他分类(如热帖、精华帖子),你可以保持原有的逻辑不变。

### 3. 添加版块选择功能
如果你希望管理员可以在后台选择指定版块,你可以在后台添加一个设置选项。这涉及到修改后台管理界面的代码,通常位于 `source/admincp/` 目录下。

你可以在后台添加一个表单字段,允许管理员选择指定版块,并将选择的版块ID保存到数据库中。然后在获取数据时,读取这个版块ID并应用到数据获取逻辑中。

### 4. 测试和调试
完成上述修改后,记得在手机版首页进行测试,确保四格显示的内容符合预期。如果发现问题,可以通过调试工具(如 `print_r` 或 `var_dump`)来检查数据是否正确获取。

### 5. 注意事项
- 修改模板文件和代码时,建议先备份原始文件,以便在出现问题时可以快速恢复。
- 如果你对Discuz的代码结构不熟悉,建议先阅读Discuz的开发手册,了解其基本架构和常用函数。

通过以上步骤,你应该能够实现手机版首页四格显示指定版块的功能。如果你在实现过程中遇到具体问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.147.59.237,GMT+8, 2025-4-14 15:03 , Processed in 0.517864 second(s), 80 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表