170 0 0

xiunoBBS后台插件排序方法

陈哥 (UID:1) 站长 创始人 V
2025-04-04 641
最新回复 (170)
  • 矣我的兔兔 (UID:10107) Lv.1 练气
    2025-04-09
    3

    优于别人,并不高贵,真正的高贵应该是优于过去的自己。

    签名:CSWl官方博客!
    0 引用
  • ╰脚踩棉花糖 (UID:10140) Lv.1 练气
    2025-04-09
    2

    动了情的痞子连刀都拿不稳,怎么赢?

    签名:CSWl官方博客!
    0 引用
  • V
    陈哥 (UID:1) 站长 创始人 楼主
    2025-04-04
    1

    xiunoBBS后台插件默认是按照插件路径排序,也可以理解为按照插件作者(英文缩写)排序

    排序后的效果,

    排序方法

    这个效果功能懒得开发成插件,而且几乎为必备修改,直接改源码

    将文件/model/plugin.func.php第53行的plugin_init()函数修改为以下代码,同时增加函数array_sort()即可,完整代码如下:

    // 在安装、卸载插件的时候,需要先初始化
    function plugin_init() {
        global $plugin_srcfiles, $plugin_paths, $plugins, $official_plugins;
        $plugin_paths = glob(APP_PATH.'plugin/*', GLOB_ONLYDIR);
        if(is_array($plugin_paths)) {
            foreach($plugin_paths as $path) {
                $dir = file_name($path);
                $conffile = $path."/conf.json";
                if(!is_file($conffile)) continue;
                $arr = xn_json_decode(file_get_contents($conffile));
                if(empty($arr)) continue;
                $plugins[$dir] = $arr;
                
                // 额外的信息
                $plugins[$dir]['hooks'] = array();
                $hookpaths = glob(APP_PATH."plugin/$dir/hook/*.*"); // path
                if(is_array($hookpaths)) {
                    foreach($hookpaths as $hookpath) {
                        $hookname = file_name($hookpath);
                        $plugins[$dir]['hooks'][$hookname] = $hookpath;
                    }
                }
                
                // 本地 + 线上数据
                $plugins[$dir] = plugin_read_by_dir($dir);
            }
     
    php

    签名:资源需求可发帖及留言,如有即发布!
    0 引用

请先登录后发表评论!

返回
请先登录后发表评论!