在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[name="searchkey"]').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智能体 生成,内容仅供参考,请仔细甄别。 |