后台插件排序方法-启用顶部

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

但是后台看起来就有点乱,找自己启用的插件要翻老半天

先上排序后的效果,有没有变清爽:paixu.png

排序方法

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

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

//在安装、卸载插件的时候,需要先初始化

function plugin_init() {

global $plugin_srcfiles,$ plugin _ paths,$plugins,$ official _ plugins

$ plugin _ PATH=glob(APP _ PATH .plugin/*,GLOB _ onleDIR);

if(is _ array($ plugin _ path)){

foreach($ plugin _ path as $ path){

$ dir=file _ name($ path);

$conffile=$path ./conf .JSON ‘;

if(!is_file($conffile))继续;

$ arr=xn _ JSON _ decode(file _ get _ contents($ con ffile));

if(空($arr))继续;

$ plugins[$ dir]=$ arr;

//额外的信息

$ plugins[$ dir][‘ hooks ‘]=array();

$ hook PATH=glob(APP _ PATH .插件/$dir/hook/* .*);//路径

if(is _ array($ hook path)){

foreach($ hook path as $ hook path){

$ hook name=file _ name($ hook path);

$ plugins[$ dir][‘ hooks ‘][$ hook name]=$ hook path;

{}

{}

//本地线上数据

$ plugins[$ dir]=plugin _ read _ by _ dir($ dir);

{}

//插件排序,依赖于自定义函数array_sort()

$plugins=array_sort($plugins,’ installed ‘,’ desc ‘);

$plugins=array_sort($plugins,’ enable ‘,’ desc ‘);

{}

{}

//二维数组排序

函数array_sort($arr,$ keys,$type=’asc’){

$ key value=$ new _ array=array();

foreach ($arr as $k=$v){

$ key value[$ k]=$ v[$ key];

{}

if($type==’asc’){

asort($ key value);

}else{

ar排序($ key value);

{}

reset($ key value);

foreach($ key value as $ k=$ v){

$ new _ array[$ k]=$ arr[$ k];

{}

返回$ new _ array

{}

转发自: https://www.gezhong.vip/thread-29.htm

原创文章,作者:elbert,如若转载,请注明出处:https://twoear.com/%e5%90%8e%e5%8f%b0%e6%8f%92%e4%bb%b6%e6%8e%92%e5%ba%8f%e6%96%b9%e6%b3%95-%e5%90%af%e7%94%a8%e9%a1%b6%e9%83%a8/