Павел Романов

Павел Романов

Был в сети 30 июля 2026, 15:23
Заказы принимаю
Можно через SimpleSearch получать только id ресурсов и их уже скармливать msProducts, где использовать стандартные методы сортировки, фильтрации и т. д.:

[[!SimpleSearch?
    &containerTpl=`search_container`
    &tpl=`search_id`
]]

Чанк search_id такой:
[[+id]],

А в чанке search_container уже pdoPage и все, что угодно:

<div id="pdopage">
    <div class="rows">
        [[!pdoPage?
            &element=`msProducts`
            &resources=`[[+results:non]]`
            &parents=`7`
            &templates=`5` // шаблон товара
            &sortby=`Data.price`
            //и т .д.
            ]]
    </div>
    [[!+page.nav]]
</div>

Модификатор non нужен, чтобы убрать переносы строк в списке ID:
<?php
return str_replace(array("\r\n", "\r", "\n"), "", $input);
Если у Вас в TV используется источник файлов, отличный от Filesystem, то prepareTVs сформирует верный путь к изображению или файлу, поскольку сырые данные в TV пишутся в виде пути от корня источника.
processTVs учитывает параметры вывода TV, а не выводит сырые данные.
Да, пардон, там же темы в отдельной таблице и они с сообщениями линкуются по ID.
Вот так должно сработать:
<?php
$mess = array();
$thrs = array();
$table_mess = $modx->getOption('table_prefix').'ec_messages';
$table_threads = $modx->getOption('table_prefix').'ec_threads';

$sql = "SELECT * FROM {$table_threads}";
$q = $modx->prepare($sql);
$q->execute();
$threads = $q->fetchAll(PDO::FETCH_ASSOC);
foreach($threads as $thread){
    $thrs[$thread['resource']] = $thread['id'];
}

$ids = $modx->getChildIds(5,10,array('context' => 'web'));
foreach ($ids as $id){
    $tid = $thrs[$id];
    $sql = "SELECT * FROM {$table_mess} WHERE `thread` = {$tid}";
    $q = $modx->prepare($sql);
    $q->execute();
    $messages = $q->fetchAll(PDO::FETCH_ASSOC);
    foreach ($messages as $message) {
       	$mess[] = $message['id'];
    }
}
return implode(',', $mess);

В чанках вот так попробуйте:
[[#[[+thread_resource]].pagetitle]]
[[#[[+thread_resource]].logo]]