返回列表 发帖
查看: 758|回复: 9

给大家一段福利代码:Discuz!贴子详情页也能正确展示所属版块

8

主题

460

回帖

589

积分

应用开发者

贡献
17 点
金币
13 个
QQ
发表于 2025-3-4 11:31:15 | 查看全部 |阅读模式
注:如果你的版块名称/链接是在主导航栏上的,可以用以下代码,反之就不要看了。

默认情况下,在贴子详情页,主导航栏的默认选中“论坛”选项卡,但我的贴子明明是属于xxxx版块呀,为什么不会自动定位到主导航栏上的xxxx版块呢?

那是因为你没有加以下代码:
修改文件:
template\default\common\footer.htm

找到这一句:<div id="scrolltop"> 在其上加以下代码:
  1. <script type="text/javascript">
  2.         if(jQuery  && fid) {
  3.                 jQuery(document).ready(function(){
  4.                         jQuery('#nv > ul > li').removeClass('a');
  5.                         jQuery('#nv > ul > li a[href$="fid=' + fid + '"]').parent().addClass('a');
  6.                 });
  7.         }
  8. </script>
复制代码
清理模板缓存和数据缓存后,到贴子详情页刷新一下页面看看,有没有自动定位到主导航栏的版块。


有眼尖的小朋友看到主导航栏自动切换了一下,觉得 心里不爽,能不能打开页面就自动定位,不要让它这样明显的切换。
可以试一下用:
<!--{if $_G[fid]}-->

上面的那一段JS代码
<!--{/if}-->

清理模板缓存和数据缓存后,到贴子详情页刷新一下页面看看???


为了体验,你确定不试一下吗?
回复

使用道具 举报

23

主题

5254

回帖

9385

积分

应用开发者

贡献
498 点
金币
1416 个
QQ
发表于 2025-3-4 11:49:07 | 查看全部
挺好,虽然是纯前端实现的,但还是有挺多人会需要的
回复

使用道具 举报

64

主题

176

回帖

257

积分

炉火纯青

贡献
0 点
金币
2 个
发表于 2025-3-4 12:44:55 来自手机 | 查看全部
楼主能上个效果图吗?谢谢你
回复

使用道具 举报

8

主题

460

回帖

589

积分

应用开发者

贡献
17 点
金币
13 个
QQ
 楼主| 发表于 2025-3-4 14:17:54 | 查看全部
120665 发表于 2025-3-4 12:44
楼主能上个效果图吗?谢谢你

图都截好 了,结果没有上传。唉。

PixPin_2025-03-04_11-05-39.png

回复

使用道具 举报

6

主题

1062

回帖

1469

积分

应用开发者

贡献
28 点
金币
179 个
QQ
发表于 2025-3-4 14:50:27 | 查看全部
不错,挺多人需要这个代码的
回复

使用道具 举报

112

主题

884

回帖

1183

积分

已臻大成

贡献
16 点
金币
12 个
QQ
发表于 2025-3-6 13:37:21 | 查看全部
  1. <!--{if $_G[fid]}-->
  2. <script>
  3. // 贴内显示上级板块

  4.     if(jQuery  && fid) {
  5.                 jQuery(document).ready(function(){
  6.                      var fid = $_G['fid'];
  7.                         jQuery('.dingzhi_navigate > ul > li').removeClass('a');
  8.                         jQuery('.dingzhi_navigate a[href*="forum-' + fid + '-"]').closest('li').addClass('a');
  9. });
  10.         }
  11. </script>
  12. <!--{/if}-->
复制代码


我是第三方模板,不能直接用,稍微修改了一下,.dingzhi_navigate是主导航的样式,然后就是原版是那种动态链接的模式把,我的链接结尾是html,所以改成了[href*="forum-' + fid + '-"],当然了,我本人不是很懂,借助了一下AI。
回复

使用道具 举报

8

主题

460

回帖

589

积分

应用开发者

贡献
17 点
金币
13 个
QQ
 楼主| 发表于 2025-3-6 15:59:08 | 查看全部
一定 发表于 2025-3-6 13:37
我是第三方模板,不能直接用,稍微修改了一下,.dingzhi_navigate是主导航的样式,然后就是原版是那种动 ...

你的这个代码是用了urlrewrite,发完贴第二天才想起来,我的代码不支持urlrewrite,想再发个贴,后来有人找我。就把这事给忘记了。

其实主要是匹配fid。var fid = $_G['fid'];    这一句,有没有无所谓。
回复

使用道具 举报

112

主题

884

回帖

1183

积分

已臻大成

贡献
16 点
金币
12 个
QQ
发表于 2025-3-6 16:35:33 | 查看全部
false001 发表于 2025-3-6 15:59
你的这个代码是用了urlrewrite,发完贴第二天才想起来,我的代码不支持urlrewrite,想再发个贴,后来有人 ...

怎么让它在列表页也生效呢?
回复

使用道具 举报

8

主题

460

回帖

589

积分

应用开发者

贡献
17 点
金币
13 个
QQ
 楼主| 发表于 2025-3-7 15:02:16 | 查看全部
一定 发表于 2025-3-6 16:35
怎么让它在列表页也生效呢?

理论上这段代码在列表和主题页都好用。

如果是官方默认的模板+没用urlrewrite,我原本代码就可以。

如果用了urlrewrite,jQuery('#nv > ul > li a[href$="fid=' + fid + '"]').parent().addClass('a');改为

jQuery('#nv > ul > li a[href*="forum-' + fid + '-"]').parent().addClass('a');

试下吧。
回复

使用道具 举报

TaC

106

主题

651

回帖

804

积分

自成一派

贡献
5 点
金币
3 个
发表于 2025-4-22 23:26:54 | 查看全部
看了半天才明白点,你只有一个默认板块,如果板块多了,不可能都在导航里显示吧。另外收索下面不是有一排路径导航吗。呵,我倒是把这一排导航删除了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2025-4-30 13:37 , Processed in 0.056087 second(s), 14 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2025 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表