Я хочу создать настраиваемое представление редактирования-добавления в Laravel Voyager: строку с двумя столбцами. Во 2-м столбце хочу поставить гугл карту.
Вопросы следующие:






Думаю, не уверен, нужно сделать отдельную папку в resources \ views \ vendor \ voyager \
и скопируйте из vendor \ tcg \ voyager \ resources \ views \ bread \ edit-add.blade.php в вашу новую папку, таким образом, когда вы вызываете представление редактирования для этой модели, вы получаете настраиваемый вид в папке ресурсов.
затем вы настраиваете свое действие и добавляете то, что хотите отобразить в лезвии, добавляя к результату модели, как в
$ model-> mymap = $ created_map;
надеюсь это поможет
Я только что узнал, как это сделать! Вот ответ: В 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" - это имя, которое я использовал в моем случае, вы должны заменить его на имя, которое вы установили в своем ХЛЕБЕ.
В третьей строке ($options = $row->details;), вы получите подробную информацию (пользовательский код json, который вы можете ввести в каждое поле в ХЛЕБЕ).
При этом вы просто устанавливаете данные, необходимые в поле формы «Координаты», поэтому вам нужно включить поле формы (карту 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>