web-dev-qa-db-ja.com

Laravel Nova-左側のナビゲーションメニュー項目の並べ替え

デフォルトでは、左側のメニュー項目の順序はアルファベット順です。

私のクライアントは、これらのメニューを手動で注文したいと考えています。それを可能にする方法はありますか?

enter image description here

6
Vineeth Vijayan

それが役立つ場合は、グループ化を使用できます。私はそれが100%の修正ではないことを知っていますが、多分それは少し役立つでしょう。

public static $group = 'Admin';
1
Cameron

/nova/resources/navigation.blade.php {{ $group }}を次のように変更します。

{!! $group !!}

これで、次のようにグループを簡単に並べ替えることができます。

public static $group = '<span class="hidden">20</span>Music';

または

public static $group = '<span class="hidden">30</span>User';

注意:タイトルの特殊文字を変換する必要があります!


リンクがあれば、それはもう少しです... 最初の方法:汚くて醜い

あなたは変えられる

{{ $resource::label() }}

{{ substr($resource::label(), 1) }}

次に、リソース名の最初の文字でリンクを並べ替えることができます。

  • ユーザー
  • アルバム
  • CContact

またはリンクのより良い方法 crate app/Nova/CustomResource.php:

<?php

namespace App\Nova;

use Illuminate\Support\Str;

abstract class CustomResource extends Resource
{
    public static $label = '';

    /**
     * @return string
     */
    public static function label()
    {
        if(static::$label) {
            return static::$label;
        }
        return Str::plural(Str::title(Str::snake(class_basename(get_called_class()), ' ')));
    }
}

/nova/resources/navigation.blade.phpを変更します

{!!  $resource::label()  !!}

そして、Novaリソースでは、このカスタムリソースを拡張し、パブリックスタティック$ labelを使用できます。

class Lyric extends CustomResource
{
    public static $label = '<span class="hidden">10</span>Lyrics';

     public static function singularLabel()
    {
        return __('Lyric');
    }

注意:タイトルの特殊文字を変換する必要があります!

0
Norman Huth