Список MIGX в MIGX

Задача такая: надо создать связь по принципу один ко многим в БД для двух migx полей.
Есть у нас поле адрес. Состоит из города, улицы, номера дома и почтового индекса.
Есть поле телефон, которое состоит из кода города/оператора и телефона собственно.
Мне надо чтоб при добавлении телефона был выпадающий список городов.
Что-то похожее на inputTVtype recourselist, только вместо списка ресурсов список значений другого migx поля.

Возможно ли такое реализовать и как?
Игорь
05 декабря 2018, 16:15
modx.pro
1 396
0

Комментарии: 2

Андрей
05 декабря 2018, 20:37
+1
Надо создать TV поле с выпадающим списком, и там в возможных значениях вызвать сниппет, который возьмет данные из tv с MIGX.

@EVAL return $modx->runSnippet('getMIGXData', array('id' => 5, 'tvname' => 'migx_tv'));
id — id ресурса у которого это поле с MIGX
tvname — имя TV поля с MIGX

Сам сниппет, что-то типа такого:
$resource = $modx->getObject('modResource', $id);
$tv = json_decode($resource->getTVValue($tvname), true);

$output = [];

foreach ($tv as $k => $v) {
    $output[] = $v['name'].'=='.$v['value']; //name, value это поля из MIGX
}

return implode('||', $output);
    Игорь
    05 декабря 2018, 23:28
    0
    Спасибо, я почти так и сделал. Сниппет по-другому написан, но это неважно. Важно то, что можно @EVAL использовать.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2