Создание тикета + MIGX
Добрый вечер,
в общем вопрос такой, кто-нибудь делал чтобы при создании/редактировании тикета (Tickets через фронтенд) записывались данные в TV migx?
Зачем это нужно.
Самый простой пример это компания с филиалами, чтобы не заводить отдельный ресурс для филиала, просто хранить адрес + телефон (+ любые другие данные) в строке TV поля типа migx.
Можно конечно хранить и в обычном TV через разделитель, но тогда не очень удобно (особенно для невнимательных) редактировать в самой админке это всё.
В общем кто делал, поделитесь пожалуйста правильным способом работы с составлением массива для MIGX
в общем вопрос такой, кто-нибудь делал чтобы при создании/редактировании тикета (Tickets через фронтенд) записывались данные в TV migx?
Зачем это нужно.
Самый простой пример это компания с филиалами, чтобы не заводить отдельный ресурс для филиала, просто хранить адрес + телефон (+ любые другие данные) в строке TV поля типа migx.
Можно конечно хранить и в обычном TV через разделитель, но тогда не очень удобно (особенно для невнимательных) редактировать в самой админке это всё.
В общем кто делал, поделитесь пожалуйста правильным способом работы с составлением массива для MIGX
Комментарии: 7
Migx хранит данные в json, значит тебе нужно во фронтеде добавлять нужные поля, и при заполнении их, с помощью jquery преобразовать все эти поля в json строку, ну и положить эту строку в скрытое поле с name твоего TV. Думаю как-то так)
Плагин напиши на событие onDocFormSave:
if ($modx->event->name == 'OnDocFormSave' || $modx->context->key != 'mgr') {
Получай значения через POST делай с ними что хочешь, потом json encode и:$resource->setTVValue('migxtv', $migxtv);
Ну и возможно понадобиться сохранение ресурса.
как сохранить поле в базу я в курсе, но там прежде чем это делать надо массив подготовить в json преобразовать
Я же написал — json encode:
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
Результат:{"a":1,"b":2,"c":3,"d":4,"e":5}
php.net
Спасибо
В MIGX формат сложнее, чем просто plain-массив. Он сохраниться, но в админке работать не будет.
Есть старая тема на оф. форуме с рабочим примером: forums.modx.com/thread/88603/how-to-programmatically-create-migx-values-in-a-snippet
Есть старая тема на оф. форуме с рабочим примером: forums.modx.com/thread/88603/how-to-programmatically-create-migx-values-in-a-snippet
То что нужно! Спасибо
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.