Получение полей у родителя родителя (дедушки) =)

MODX Revolution

21-09-2015

Скрипт - сниппет, который поможет легко получить любой параметр у прародителя
Для того чтобы получить данные полей дедушки вызываемого документа понадобится простой сниппет grandpaGet:
$parent_id = $modx->resource->get('parent');
$parent_obj = $modx->getObject('modResource', $parent_id);

//находим деда
$granpa_id = $parent_obj->get('parent');
$granpa_obj = $modx->getObject('modResource', $granpa_id);

//Смотрим параметр что получить
$whattoget = $scriptProperties['whattoget'];

//Получаем объект
$granpa_thing = $granpa_obj->get($whattoget);

//Выводим информацию.
echo "$granpa_thing";
И вызывать его можно с параметром где указываем название поля которое нужно получить, в примере мы получим заголовок документа у дедушки:
[[grandpaGet? &whattoget=`pagetitle`]]
Для получения TV полей дедушки нужно использовать внести изменения в сниппет:
$parent_id = $modx->resource->get('parent');
$parent_obj = $modx->getObject('modResource', $parent_id);

 //находим деда
$granpa_id = $parent_obj->get('parent');
$granpa_obj = $modx->getObject('modResource', $granpa_id);

//Смотрим параметр что получить
$whattoget = $scriptProperties['whattoget'];

//Получаем объект
$granpa_thing = $granpa_obj->getTVValue($whattoget);
//Выводим информацию.
echo "$granpa_thing";
Просмотров: 193