Я только что узнал, как это сделать! Вот ответ: В Voyager каждый вход, который вы можете использовать в формах, уже определен (также вы можете определить пользовательские входы).В моем случае мне понадобился ввод формы координат, который показывает карту Google и позволяет вам поставить маркер, сохраняя широту и долготу. Вот как вы включаете его в пользовательскую форму:
@php
$dataTypeRows = $dataType->{(isset($dataTypeContent->id) ? 'editRows' : 'addRows' )};
$row = $dataTypeRows->where('field', 'location')->first();
$options = $row->details;
@endphp
@include('voyager::formfields.coordinates')
Итак, что все это значит:
Первая строка ($dataTypeRows = $dataType->{(isset($dataTypeContent->id) ? 'editRows' : 'addRows' )};
), в основном, говорит, редактируете ли вы или добавляете (то есть, нового пользователя).
Во второй строке ($row = $dataTypeRows->where('field', 'location')->first();
) вы получаете всеСтрока данных для «местоположения» конкретной модели."location" - это имя, которое я использовал в моем случае, там вы должны заменить имя, которое вы указали в вашем BREAD.
В третьей строке ($options = $row->details;
),вы получаете детали (пользовательский код json, который вы можете поместить в каждое поле в BREAD).
Делая это, вы просто устанавливаете данные, необходимые в поле формы «координаты», поэтому вам нужно включить формуполе (карта Google) сейчас.Вы делаете это в этой последней строке: @include('voyager::formfields.coordinates')
.
Наконец, со всеми html, это может выглядеть так:
<div class="row">
<div class="col-md-12">
<div class="panel panel-bordered">
<div class="panel-body">
<label for="location"> Ubicación </label>
@php
$dataTypeRows = $dataType->{(isset($dataTypeContent->id) ? 'editRows' : 'addRows' )};
$row = $dataTypeRows->where('field', 'location')->first();
$options = $row->details;
@endphp
@include('voyager::formfields.coordinates')
</div>
</div>
</div>
</div>
![Custom coordinates form field](https://i.stack.imgur.com/LFZVR.png)