Работа с tv параметрами modx revo (обновление и взятие из базы)

Для работы с базой данных в modx revo используеться xpdo вот пример когда мы берем tv параметр из базы по id ресурса и обновляем его:

$resource = $modx->getObject('modResource',array('id'=>$id));
$val = $resource->getTVValue('stat_1'); // берем значение ресурса
$resource->setTVValue('stat_1', '1'); // изменяем резурс
$resource->save(); // Фиксируем изменения




$resource->remove(); // Удаляем ресурс

очень хорошо написано про xpdo вот здесь http://www.lux-d.ru/2012/05/objektnaja_model_modx_revolution_api/

Ещё пару моментов по создание ресурса и добавление его в группу ресурсов можно использовать как hook, в formit


newObject('modResource');



// Заполняем нужные значения
$newResource->set('pagetitle',$title);
$newResource->set('longtitle',$title);
$newResource->set('description',$description);
$newResource->set('introtext',$introtext);
$newResource->set('content',$content);
$newResource->set('alias',$title);
$newResource->set('template',$template);
$newResource->set('published',1);
$newResource->set('parent',$parent);
$newResource->set('publishedon',$publishedon);



$newResource->save();
$id=$newResource->get('id');
$resource = $modx->getObject('modResource',array('id'=>$id));

$resource->joinGroup(1);
$resource->joinGroup(2);
$title = 'Заявка № '.$id;
$resource->set('pagetitle',$title);
$val = $resource->getTVValue('kabinet'); // берем значение ресурса
$resource->setTVValue('kabinet', $kabinet); // изменяем резурс
$resource->setTVValue('stat', '1'); // изменяем резурс
$resource->setTVValue('id_zakaschika', $id_ispolnitela); //заказчик неправельно написано

// Сохраняем ресурс
if ($resource->save()) {
  
// Очищаем кеш, чтобы изменения были видны сразу
  $modx->cacheManager->clearCache();
  return true;
} 

return false;



Отправить комментарий

Другие статьи рубрики "modx revo xPDO"