我想在Laravel Voyager中创建一个自定义的添加编辑视图:一行包含两列。在第二列中,我想放置一个Google地图。
问题是:
答案 0 :(得分:0)
我认为不确定,您必须在resources \ views \ vendor \ voyager \
中创建单独的文件夹并从vendor \ tcg \ voyager \ resources \ views \ bread \ edit-add.blade.php复制 到您的新文件夹, 这样,当您调用该模型的编辑视图时,可以在资源文件夹中获得自定义视图。
然后,您可以自定义操作并通过添加到模型结果中来添加要显示在刀片中的内容
$ model-> mymap = $ created_map;
希望这会有所帮助
答案 1 :(得分:0)
我刚刚找到了解决方法!,这是答案: 在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();
)中,您将获得特定模型“位置”的所有行数据。 “位置”是我在本例中使用的名称,您必须在其中替换为您在BREAD中设置的名称。
在第三行($options = $row->details;
)中,您将获得详细信息(可以在BREAD的每个字段中输入的自定义json代码)。
这样做,您只需在表单字段“坐标”中设置所需的数据,因此您现在必须包括表单字段(谷歌地图)。您可以在以下最后一行中完成此操作:@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>