Получение ресурсов по TV-значению в XPDO MODX Revo
Представляю готовый скрипт для XPDO MODX Revo, который выведет все ресурсы по конкретному значению дополнительного поля TV.
Поместите скрипт в сниппет, для проверки.
<?php
$where = $modx->newQuery('modResource');
$where->leftJoin('modTemplateVarResource', 'TemplateVarResources');
$where->leftJoin('modTemplateVar', 'tv', "tv.id=TemplateVarResources.tmplvarid");
$where->limit(5);// Лимит
$where->where(array(
array(
'tv.name' => 'tags', // Имя TV
'TemplateVarResources.value' => 'modx',// Значение TV
'parent' => '1'// Родитель
)
));
$resources = $modx->getCollection('modResource',$where);
foreach ($resources as $id => $res) {
$output .= '['.$id.'] => '.$res->get('pagetitle').'
';
}
return $output;
Все просто, мы присоединяем к таблице с ресурсами таблицу с TV, методом sql leftJoin и выводим все это через цикл. Вы можете добавить или убрать любые критерии выборки.
Оставить комментарий