Все для создания и продвижения сайтов

Верстка, программирование, SEO

Получение ресурсов по 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 и выводим все это через цикл. Вы можете добавить или убрать любые критерии выборки.

Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.