xPDO::getObject - получает один экземпляр обьекта по заданным критериям.
Критерий может принимать id обьекта, массив значений или обьект xPDOCriteria. Если не указан параметр $criteria, или такого класса не существует, или обьект не найден будет возвращени NULL.
Вы можете извлечь любой обьект, просто зная имя обьекта, обычно это просто название обьекта с добавлением префикса mod.
Описание метода:
xPDOObject|null getObject (string $className, [xPDOCriteria|array|str|int $criteria = null], [bool|int $cacheFlag = true])
Пример вызова:
<?php
$page = $modx->getObject('modResource', 555);
$output = $page->get('pagetitle');
Тип обьекта | Имя обьекта |
Страница | modResource |
Чанк | modChunk |
Юзер | modUser |
Шаблон | modTemplate |
Сниппет | modSnippet |
Полный список обьектов можно посмотреть здесь core/model/schema/modx.mysql.schema.xml.
Если Вам требуется получить атрибуты других обьектов (например tv для страницы), то вы можете воспользоватся getObjectGraph.
Получаем обьект Box c идентификатором 134:
<?php
$box = $xpdo->getObject('Box', 134);
Вы так же можете использовать более подробные критерии:
<?php
$box = $xpdo->getObject('Box', array('id'=>134));
В принципе можно искать по любому параметру обьекта:
<?php
$box = $xpdo->getObject('Box', array('color'=>'blue'));
Для более сложных запросов Вы можете использовать xPDO query.
<?php
$query = $modx->newQuery('MyObject');
$query->where( array('wheels:>=' => 3) );
$myobj = $xpdo->getObject('MyObject', $query);