Получить все имена и значения ТВ ресурса

07 Февраля 2020 13:46 (Редактировано: 07 Февраля 2020 13:47)

 1. $resourceId = id ресурса

$q = $modx->newQuery('modTemplateVarResource');
$q->leftJoin('modTemplateVar','modTemplateVar',array("modTemplateVar.id = tmplvarid"));
$q->where(array('contentid'=>$resourceId));
$q->select($modx->getSelectColumns('modTemplateVarResource','modTemplateVarResource','',array('id','tmplvarid','contentid','value')));
$q->select($modx->getSelectColumns('modTemplateVar','modTemplateVar','',array('name')));

$tvObjects = $modx->getCollection('modTemplateVarResource',$q);

$out = [];
foreach ($tvObjects as $item) {
    $tvArray = $item->toArray();
    $out[$item['name']] = $item['value'];
}

echo "<pre>";
print_r($out);
echo "</pre>";