Как с помощью своего сниппета получить данные определенного ресурса в MODX Revo?
Не так давно я дорабатывал один компонент в MODX Revolution. Так вот, там я писал свой сниппет, и именно в нем мне нужно было получить некоторые данные (включая TV-поля) определенных ресурсов.
И вот как я это сделал.
В MODX Revolution существует весьма полезная штука, под названием «getObject» – метод, который позволяет получить данные из указанного ресурса.
Использование его следующее:
$resource = $modx->getObject("modResource", array("id" => "13488"));
return $resource->get("pagetitle");
Где «13488» – ID нужного ресурса. Таким образом, мы получаем название нужного вам ресурса по его ID. Для того, чтобы получить полный перечень доступных данных ресурса, воспользуйтесь следующим кодом:
$resource = $modx->getObject("modResource", array("id" => "13488"));
print_r("<pre>");
print_r($resource->toArray());
Помимо того, что выдаст вам предыдущий код, вы можете получить дополнительные параметры ресурса. Здесь конструкция схожа с двумя предыдущими, а именно:
$resource = $modx->getObject("modResource", array("id" => "13488"));
$resource_tv = $resource->getTVValue(28);
return $resource_tv;
Где «13488» – это ID ресурса, а «28» – это ID вашего TV-поля.
ID поля (как и самого ресурса) вы можете узнать в древе вашего сайта в панели управления. Если статья вызвала у вас затруднения в использовании описанных методов, не стесняйтесь и задавайте ваши вопросы в комментариях.