laravel nova 的侧边栏元素排序

自 nova 2.10开始,nova增加了一个权重字段,用于侧边栏排序使用:

/**
 * The side nav menu order.
 *
 * @var int
 */
public static $priority = 2;

配置后在 NovaServiceProvider中声明使用自定义排序即可:

public function boot()
{
    Nova::sortResourcesBy(function ($resource) {
        return $resource::$priority ?? 9999;
    });
}

相关的代码参考 nova 的测试也可以找到:

# ./nova/tests/Feature/NovaTest.php
    public function test_can_specify_user_sortable_closure_for_sorting()
    {
        $callback = function ($resource) {
            return $resource::$priority;
        };

        Nova::sortResourcesBy($callback);

        $this->assertEquals($callback, Nova::$sortCallback);

        Nova::sortResourcesBy(function ($resource) {
            return $resource::label();
        });
    }

参考资料


如果本文对你有帮助,欢迎投食

恢复 Mac idea 默认配置 git创建、提交、同步到远程分支