后台插件中心增加搜索功能
xiunoa 2020-7-9

 

友情提醒:以下提及的文件都需要做修改,修改前请备份。

1、打开根目录下的/model/plugin.func.php文件

找到以下代码523行左右

/*function plugin_outid($dir) {

在它前面添加一个方法

function plugin_search_keyword_safe($s){
    $s = str_replace(array('\'', '\\', '"', '%', '<', '>', '`', '*', '&', '#'), '', $s);
    $s = preg_replace('#\s+#', ' ', $s);
    $s = trim($s);
    return $s;
}

添加完毕之后保存文件。

2、打开根目录下的/admin/route/plugin.php文件

17行左右找到 if($action == 'local') {

$pluginlist = $plugins;下面添加以下代码

    $wd = param('wd', '');
    if(!empty($wd)){
        $wd = plugin_search_keyword_safe(xn_urldecode(trim($wd)));
        $cond = array('name'=>array('LIKE'=>$wd));
        $pluginlist = arrlist_cond_orderby($plugins, $cond, array('pluginid'=>-1), 1, 999);
    }

找到

} elseif($action == 'official_fee' || $action == 'official_free') {

$page = param(3, 1);下面添加以下代码

$wd = param('wd', '');

找到$cond['price'] = $action == 'official_fee' ? array('>'=>0) : 0;在其下添加如下代码

    if(!empty($wd)){
        $wd = plugin_search_keyword_safe(xn_urldecode(trim($wd)));
        $cond += array('name'=>array('LIKE'=>$wd));
    }

找到$pagination = pagination(url("plugin-$action-$cateid-{page}"), $total, $page, $pagesize);在其下添加如下代码

    !empty($wd) AND $pagination = pagination(url("plugin-$action-$cateid-{page}").'?wd='.$wd, $total, $page, $pagesize);

添加完毕之后保存文件。

3、打开根目录下的/admin/view/htm/plugin_list.htm文件

在第19行左右找到<div class="card-body">在下面添加以下代码

                <div class="search mb-3">
                    <form id="plugin_search">
                        <div class="input-group">
                            <input class="form-control" name="wd" placeholder="<?php echo !empty($wd) ? $wd : '关键词';?>" type="text" value="<?php echo !empty($wd) ? $wd : '';?>" />
                            <div class="input-group-append"><button class="btn btn-primary" id="submit" type="submit">搜索插件</button></div>
                        </div>
                    </form>
                </div>

找到页尾的$('#nav li.nav-item-plugin').addClass('active');

在下面添加以下代码

jplugin_search = $('#plugin_search');
jplugin_search.on('submit', function() {
    var wd = jplugin_search.find('input[name="wd"]').val();
    var url = xn.url('plugin-<?php echo $action;?>')+'?wd='+xn.urlencode(wd);
    window.location = url;
    return false;
});

添加完毕之后保存文件。

如果你不是本地测试的话,请把修改后的文件按目录结构上传覆盖;再次提醒,覆盖前请备份源文件

清空缓存即可实现插件搜索。

 

最后于 2021-2-20 被浅唱编辑 ,原因: 修改标题
最新回复 (5)
全部楼主
  • 1961351583
    2021-2-19 2
    0
    面对如此强贴,论遇到多大阻力,只要我一息上尚存,就绝不会让它沉沦下去,这一点请楼主放心。 
  • sgujag
    2023-3-5 3
    0
    你就是我心中的那首忐忑,总是让我惊心动魄。 
  • lyqbing2
    8月前 4
    0
    祝xiunobbs论坛越办越好!!!
  • 7ine
    7月前 5
    0
    感谢楼主ing!!!
  • 幻彩流夏
    3月前 6
    0
    不错的帖子!
返回