Список MIGX в MIGX
Задача такая: надо создать связь по принципу один ко многим в БД для двух migx полей.
Есть у нас поле адрес. Состоит из города, улицы, номера дома и почтового индекса.
Есть поле телефон, которое состоит из кода города/оператора и телефона собственно.
Мне надо чтоб при добавлении телефона был выпадающий список городов.
Что-то похожее на inputTVtype recourselist, только вместо списка ресурсов список значений другого migx поля.
Возможно ли такое реализовать и как?
Есть у нас поле адрес. Состоит из города, улицы, номера дома и почтового индекса.
Есть поле телефон, которое состоит из кода города/оператора и телефона собственно.
Мне надо чтоб при добавлении телефона был выпадающий список городов.
Что-то похожее на inputTVtype recourselist, только вместо списка ресурсов список значений другого migx поля.
Возможно ли такое реализовать и как?
Комментарии: 2
Надо создать TV поле с выпадающим списком, и там в возможных значениях вызвать сниппет, который возьмет данные из tv с MIGX.
tvname — имя TV поля с MIGX
Сам сниппет, что-то типа такого:
@EVAL return $modx->runSnippet('getMIGXData', array('id' => 5, 'tvname' => 'migx_tv'));
id — id ресурса у которого это поле с MIGXtvname — имя 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);
Спасибо, я почти так и сделал. Сниппет по-другому написан, но это неважно. Важно то, что можно @EVAL использовать.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.