SELECT привязка в разных контекстах

Приветствую.
Есть четыре контекста на фронтэнд.
Общее TV с значениями: @SELECT pagetitle, id FROM mx_site_content WHERE parent in (31,50,80,95);
Где 31,50,80,95 — это категории с разных контекстов.

Можно ли изменить селект, чтобы в бэкэнде при создании документа в определённом контексте в источнике TV отображались ТОЛЬКО документы этого контекста? Например передать в селект параметр, который бы оперделял контекст в котором создается документ.
Спасибо
alex.shabun
16 мая 2023, 11:47
modx.pro
428
0

Комментарии: 2

Павел Романов
16 мая 2023, 13:05
+1
Создайте в настройках каждого контекста параметр id_category и укажите там соответствующий ID.
В возможных значениях у TV пропишите:
@EVAL
if(!$res =  $modx->getObject('modResource', $_GET['id'])) return;
if(!$setting = $modx->getObject('modContextSetting', array('context_key' => $res->get('context_key'), 'key' => 'id_category'))) return;
$docid = $setting->get('value');

return $modx->runSnippet('pdoResources',array(
    'parents' => $docid ,
    'limit' => 0,
    'tpl' => '@INLINE [[+pagetitle]] ([[+id]])==[[+id]]',
    'outputSeparator' => '||'
));
    alex.shabun
    22 мая 2023, 10:44
    0
    Спасибо. Всё чётко.
    Единственный момент, я так понимаю при переходе на 3 этот вариант работать не будет?
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2