@amorphine

Как нативно через AJAX обновить поля формы для pivot-модели в OctoberCMS (manage-шаг)?

Товарищи октябристы, помогите, пожалуйста.
Имеется вот такая страница в админке (модель Route + пивоты для City и Sight)

5a2b8f81c3aad848697573.png

Все нормально, когда жмакаем Add Sight - предлагает список доступных Sight, кликаем на любой, переходим к конфигурированию дополнительных полей Pivot-таблицы.

5a2b8da28d31f761269123.png

ничего умнее, кроме как отрендерить кнопку из виджета, я не придумал:
Вот она подключается в plugins/xdim/tripmagik/models/routesightpivot/fields.yaml

fields:
    pivot[sort]:
        label: Order
        type: number
        span: auto
    pivot[time_from_start_to_sight]:
        label: Time from start to the sight
        type: number
        span: auto
    pivot[add_route_time]:
        label: Add time
        type: number
        span: auto
    pivot[add_route_price]:
        label: Basic add. price
        type: number
        span: auto
    pivot[stay_time_default]:
        label: Default stay time
        type: number
        span: auto
    pivot[stay_time_min]:
        label: Min. stay time
        type: number
        span: auto
    pivot[stay_price]:
        label: Price per quarter of hour
        type: number
        span: auto
    _gmaps_sync:
        label: You may try to get data from Google Maps API
        type: gmapsroutesightsync
        commentAbove: Make sure you have entered Google Maps API key


Я могу назначить кнопке ajax-обработчик, но тут начинается самое неясное: в обработчик в контроллере или виджете попадают такие данные из POST:

5a2b8e998065f398258830.png

Можно изворотиться, сгенерировать нужные данные на основе имеющихся, отправить обратно и уже в админке банальным js-кодом обновить значения полей. Но у меня чувство, что это все не нативно и костылизм какой-то.
  • Вопрос задан
  • 473 просмотра
Решения вопроса 2
KorniloFF
@KorniloFF
Работаю по font-end / JS
Как нативно через AJAX обновить поля формы

1. Сделайте свой обработчик на сервере, которым получите все нужные для обновления данные
2. Обращайтесь нативно через AJAX к нему, получайте ответ с данными
3. Выводите данные на страницу

Если что-то из этих пунктов не понятно, тогда формулируйте вопрос. CMS мне не знакома, так что могу помочь только известными технологиями. Возможно, кто-то ответит подробнее.
Ответ написан
@talas1234
не совсем понятна задача.
зачем там обновлять данные в форме, если они и так отображаются и при открытии модала с формой.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы