Laravel Voyager: настраиваемое представление добавления и редактирования с картой Google

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

Вопросы следующие:

  • Как мне отфильтровать, если поле является картой?
  • Когда я получу карту, как мне взять данные из "Вояджера" для ее визуализации?
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
2 069
2

Ответы 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>

Custom coordinates form field

Другие вопросы по теме