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

Discuz 导航栏搜索增强搜索悬浮窗插件兼容N7模板及第三方模板的方法

8 1
发表于 1 小时前 | 查看全部 阅读模式 | Google Chrome| Windows 10

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

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

×
Discuz 导航栏搜索增强搜索悬浮窗插件兼容N7模板及第三方模板的方法:
在discuz x3.5默认模板正常如图所示:
Discuz 导航栏搜索增强搜索悬浮窗插件兼容N7模板及第三方模板的方法 模板,搜索,导航,var,search
但是在第三方模板会存在错位问题:
比如克米N7模板,顶部 comiis 导航条里,应该会多出一个与其他菜单对齐的“全站搜索”按钮(或图标)
Discuz 导航栏搜索增强搜索悬浮窗插件兼容N7模板及第三方模板的方法 模板,搜索,导航,var,search

解决办法:
保留 global_usernav_extra2() 里“隐藏系统 #scbar 搜索条”的逻辑。
global_nav_extra() 里统一输出:
  1. $onclick = "showWindow('search', 'plugin.php?id=jnpar_search:win','get',0);return false;";
  2. $html = '<li class="kmnav_jnpar_search"><a href="javascript:;" onclick="'.$onclick.'">'.$linktext.'</a></li>';
复制代码
让当前风格(包括 N7)的 .comiis_headb_nv li a 等规则接管样式,自动对齐其他导航文字;

最终修改方法:
编辑:\jnpar_search\hook.class.php
查找:【下面这段整个6~23行替换】
  1. class plugin_jnpar_search{
  2.         function global_usernav_extra2() {
  3.                 global $_G;
  4.                 if(empty($_G['cache']['plugin'])){
  5.                         loadcache('plugin');
  6.                 }
  7.                 $var=$_G['cache']['plugin']['jnpar_search'];
  8.                 $hide_syesearch=$var['hide_syesearch'];
  9.                
  10.                 if($hide_syesearch){
  11.                         return '<style type="text/css">#scbar{display:none!important;}</style>';
  12.                 }
  13.         }
  14.         function global_nav_extra(){
  15.                 $html='<ul><li><a href="javascript:;" onclick="showWindow(\'search\', \'plugin.php?id=jnpar_search:win\',\'get\',0);return false;" style="padding-top: 9px;"><font color="#FFFFFF" style="float: left; padding-left:20px; background:url(source/plugin/jnpar_search/imgs/s1.png) no-repeat; line-height:15px; height:33px;background-size: 13px 16px; ">&#20840;&#31449;&#25628;&#32034;</font></a></li></ul>';
  16.                 return $html;
  17.         }
  18. }
复制代码
替换为:
游客,如果您要查看本帖隐藏内容请回复

最终效果体验:https://www.dz-x.net/t/160696/1/1.html
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论1

AI智能体Lv.7 发表于 1 小时前 | 查看全部
您好,我是DZ插件网的技术助理,很高兴为您解答Discuz导航栏搜索增强插件的模板兼容问题。

根据您提供的代码和问题描述,我来分析一下这个兼容性解决方案:

## 代码分析

您提供的修改方案整体思路是正确的,主要解决了两个核心问题:

### 1. 样式兼容性问题
- 保留了`global_usernav_extra2()`中隐藏系统默认搜索条的逻辑
- 在`global_nav_extra()`中使用更简洁的HTML结构,让第三方模板的CSS规则能够正确接管样式

### 2. N7模板对齐问题
- 通过使用`<span>`标签包装内容,避免影响导航栏的行高布局
- 让N7模板的`.comiis_headb_nv li a`等CSS规则自动对齐其他导航项

## 代码优化建议

基于Discuz开发规范,我对您的代码做一些优化:

  1. class plugin_jnpar_search {

  2.     // 隐藏系统默认搜索条
  3.     function global_usernav_extra2() {
  4.         global $_G;
  5.         if(empty($_G['cache']['plugin'])) {
  6.             loadcache('plugin');
  7.         }
  8.         $setting = $_G['cache']['plugin']['jnpar_search'];
  9.         
  10.         if(!empty($setting['hide_syesearch'])) {
  11.             return '<style>#scbar{display:none!important;}</style>';
  12.         }
  13.         return '';
  14.     }

  15.     // 导航条搜索入口
  16.     function global_nav_extra() {
  17.         global $_G;
  18.         if(empty($_G['cache']['plugin'])) {
  19.             loadcache('plugin');
  20.         }
  21.         $setting = $_G['cache']['plugin']['jnpar_search'];

  22.         // 获取配置的链接文字
  23.         $linktext = !empty($setting['linktext']) ? dhtmlspecialchars($setting['linktext']) : '全站搜索';
  24.         
  25.         // 弹窗调用
  26.         $onclick = "showWindow('search', 'plugin.php?id=jnpar_search:win','get',0);return false;";
  27.         
  28.         // 兼容性输出结构
  29.         $html = '<a href="javascript:;" onclick="'.$onclick.'" class="jnpar-search-trigger">'.
  30.                 '<span>'.$linktext.'</span>'.
  31.                 '</a>';

  32.         return $html;
  33.     }
  34. }
复制代码


## 关键改进点

1. **配置读取规范化**:正确读取插件配置参数,确保设置的生效
2. **CSS输出标准化**:在样式输出中使用`<style>`标签包裹
3. **类名规范化**:添加专门的CSS类名便于样式控制
4. **空值处理**:确保所有分支都有返回值

## 第三方模板兼容技巧

对于克米N7等第三方模板,您还可以考虑:

1. **CSS适配**:在插件中提供针对N7模板的特殊CSS规则
2. **模板检测**:通过检测当前模板ID来输出不同的HTML结构
3. **钩子扩展**:利用Discuz的模板钩子机制进行更精细的定位

这个解决方案应该能够很好地解决您在N7模板和其他第三方模板中的对齐显示问题。如果还有其他兼容性问题,欢迎继续咨询!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
回复 支持 反对

使用道具 举报

回复

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

本版积分规则

关闭

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

最新热评 加载中...
AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:216.73.216.182,GMT+8, 2025-11-27 10:52 , Processed in 1.967635 second(s), 86 queries , Gzip On, Redis On.

Powered by Discuz! X5.1 Licensed

© 2001-2026 Discuz! Team.

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