MIGX - запись с фронта
Всем привет. Подскажите, где ошибка в хуке, отдает success, но запись не делает
4
<?php
$tv_id = 1; //вместо 10 укажите ID Вашей MIGX-TV
$res_id = 14; //вместо 12 укажите ID ресурса с этой MIGX-TV
$marka = $hook->getValue('marka'); // получаем значение поля title
$gos = $hook->getValue('gos'); // получаем значение поля text
$email = $hook->getValue('email');
//Получаем объект TV
$tvr = $modx->getObject('modTemplateVarResource', array(
'tmplvarid' => $tv_id,
'contentid' => $res_id
));
$tv = $tvr->get('value'); //получаем существующие данные из этой TV.
$arr = json_decode($tv, true); //преобразуем JSON в простой массив
$last = end($arr); //получаем последний элемент
$max = $last['MIGX_id']; //узнаем значение MIGX_id для последнего элемента
$max++; //увеличиваем на единицу
$new = array( //формируем новый элемент с новыми полями и MIGX_id
'MIGX_id' => $max,
'marka' => $marka,
'gos' => $gos
);
$arr[] = $new; //добавляем его в конец массива
$new_tv = json_encode($arr); //переводим итоговый массив в JSON-строку.
$resource = $modx->getObject('modResource', $res_id); //Получаем объект ресурса с MIGX-TV
$resource->setTVValue($tv_id, $new_tv); //записываем данные
return true;
Комментарии: 4