Перевод Belongs To Laravel Nova - PullRequest
       9

Перевод Belongs To Laravel Nova

1 голос
/ 12 февраля 2020

Я использую для перевода полей в Nova

Text::make(__('Name User'), 'name')

Но я не понимаю, как сделать заголовок полей BelongsTo переводимым

Атрибуты заголовка при BelongsTo поле отображается на экране создания / обновления ресурса, раскрывающееся меню выбора или меню поиска отображает «заголовок» ресурса. Например, ресурс пользователя может использовать атрибут имени в качестве заголовка. Затем, когда ресурс отображается в меню выбора BelongsTo, будет отображаться этот атрибут:

Хорошо ... В моем коде это не удается, поскольку переводы производятся с именем модели, а не с меткой Отношение Корабль.

BelongsTo::make(__('User'), 'users')->withMeta([
  'belongsToId' =>  $this->user_id ?? auth()->user()->id
])->hideFromDetail()
local.ERROR: Class 'App\Nova\Usuario' not found {"userId":1,"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Class 'App\\Nova\\Usuario' not found at /home/abkrim/Sites/albaridnova/vendor/laravel/nova/src/Fields/BelongsTo.php:118)

Код на Nova \ Пользователь

public static $model = 'App\\User';

public static $title = 'email';

public static $search = ['id', 'name', 'email'];

public static function availableForNavigation(Request $request)
{
    return $request->user()->isAdmin();
}

public static function label()
{
    return __('Users');
}

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

Когда показывать ресурс пользователя не проблема. Перевод ярлыков выполнен.

Но если go для ресурса Mailbox, поле Belongs, чтобы не показывать переводы

1 Ответ

1 голос
/ 15 февраля 2020

Это происходит потому, что если вы не укажете третий аргумент (ресурс) в методе make, Nova будет думать, что ваш ресурс вызывается так же, как и метка (например: label: User затем resourceName : User) и попытается найти этот класс ресурсов.

Очевидно, вы можете переопределить это, передав класс ресурса в качестве третьего аргумента:

// Add the import of your resource if its class
// is not in the same directory as this file
BelongsTo::make(__('User'), 'users', User::class)->withMeta([
  'belongsToId' =>  $this->user_id ?? auth()->user()->id
])->hideFromDetail(),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...