MIGX. Поля по умолчанию
Доброго дня. Изучая migx, возник вопрос: возможно ли, при создании ресурса, отображать MIGX с заполненными по-умолчанию полями?
Комментарии: 3
При создании нет, но можно сделать немного по другому — записывать значения при сохранении.
Создать плагин на событие OnDocFormRender и указать в нем значения по-умолчанию. При сохранении ресурса плагин проверяет есть ли значения в TV с migx и если пусто, то записывает значения.
Т.е. вы создаете ресурс, сохраняете и значения записываются.
Пример плагина, в переменной $default ваши значения, $tvname имя TV
Создать плагин на событие OnDocFormRender и указать в нем значения по-умолчанию. При сохранении ресурса плагин проверяет есть ли значения в TV с migx и если пусто, то записывает значения.
Т.е. вы создаете ресурс, сохраняете и значения записываются.
Пример плагина, в переменной $default ваши значения, $tvname имя TV
switch ($modx->event->name) {
case 'OnDocFormRender':
if ($mode === 'upd') {
$tvname = 'autofill';
$default = array(
array(
'MIGX_id' => 1,
'name' => 'Тест'
),
array(
'MIGX_id' => 2,
'name' => 'Тест 2'
)
);
$tv = $modx->fromJson($resource->getTVValue($tvname), true);
if (empty($tv)) {
if (!$resource->setTVValue($tvname, $modx->toJson($default))) {
$modx->log(1, 'Не удалось добавить значение');
};
}
}
break;
}
Можно!
В значения по умолчанию пишешь стандартный migx-json, типа такого но со своими полями:
В значения по умолчанию пишешь стандартный migx-json, типа такого но со своими полями:
[{
"MIGX_id":"1",
"name":"name 1",
"description":"description 1",
"size":"10,5 х 14,8см",
...
"impPrint":"25"},
{
"MIGX_id":"2",
"name":"name 2",
"description":"description 2",
"size":"42,0 x 59,4 см",
...
"impPrint":"22"},
{
"MIGX_id":"3",
"name":"name 3",
"description":"description 3",
"size":"59,4 х 84,1 см",
...
"impPrint":"23"}
]
мда… как все просто и логично) Спасибо
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.