;

aПример поста


Давайте, напишем свой сниппет, который будет показывать пользователю любое поле любого ресурса. Нам понадобятся знания, полученные в первой части статьи.
Задача. У сайта есть слоган. Текст слогана находится в поле introtext главной страницы сайта. Нужно отображать этот слоган на всех страницах сайта.
Создадим новый сниппет getValue:
    $res = $modx->getObject('modResource',$id);
    $output = $res->get($val);
    return $output;

И вызывать его будем так:
    [[getValue? &id=`[[++site_start]]` &val=`introtext`]]

Все параметры, которые мы передали в сниппет (id и val) внутри сниппета превращаются в переменные ($id и $val) и мы можем их использовать.

Кроме того наш сниппет может работать не только с главной страницей и показывать не только introtext — в другом месте страницы вы можете показать, например, заголовок родительского документа:
    [[getValue? &id=`[[*parent]]` &val=`pagetitle`]]

Думаю, теперь большему количеству людей понятно, что такое xPDO и как его можно применять на практике. Дальше будем рассматривать более сложные случаи, так как xPDO позволяет манипулировать абсолютно всеми объектами, а не только ресурсами, что открывает перед нами большие возможности. G+
+1