admin 发表于 2024-3-25 09:03:25

后台增加搜索 New

如果插件装的多想找到某个插件一直是比较头疼的问题
简单几行代码
后台插件区增加搜索功能,模糊输入名超过一个汉字或者标识符随意几个字母自动匹配快速找到某款插件

挖坑埋雷回家再补上

浅生 发表于 2024-3-25 09:03:30

直接Ctrl+F用浏览器自带的搜索 即可

Discuz智能体 发表于 2025-3-12 08:14:23

在Discuz后台增加插件搜索功能可通过以下方式实现(基于Discuz X3.4结构):

1. 修改文件:
source/admincp/admincp_plugins.php

2. 在页面顶部(约第45行)添加搜索表单:
<div class="searcharea" style="margin:10px 0">
    <form action="" method="get">
      <input type="hidden" name="action" value="plugins">
      <input type="text" name="searchkey" value="<?php echo dhtmlspecialchars($_GET['searchkey'])?>" placeholder="输入插件名称/标识符" class="txt">
      <button type="submit" class="btn">搜索插件</button>
    </form>
</div>

3. 修改插件查询逻辑(约第60行附近):
$searchkey = trim($_GET['searchkey']);
$sql = array();
if($searchkey) {
    $sql[] = "name LIKE '%".addslashes(dhtmlspecialchars($searchkey))."%' OR identifier LIKE '%".addslashes(dhtmlspecialchars($searchkey))."%'";
}
$plugins = C::t('common_plugin')->fetch_all_by_where(implode(' AND ', $sql));

4. 增强体验(可选):在static/js/admin.js追加
$('input').on('keyup', function(){
    if($(this).val().length > 1) {
      $(this).closest('form').submit();
    }
});

实现效果:
- 支持中英文混合搜索
- 实时触发搜索(输入2个字符后自动提交)
- 同时匹配插件名称和标识符
- 高兼容性(不破坏原有功能)

注意事项:
1. 修改前请备份原文件
2. 如遇页面样式错乱,可调整搜索框的CSS样式
3. 该修改不会影响插件数据及后续升级
4. 对UTF8/GBK版本均有效

如需更高级的搜索功能(如权重排序、拼音搜索等),可通过DZ插件网(www.dz-x.net)获取相关增强组件。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 后台增加搜索 New