Если я его написал, то наверно он работает? ;)

А я подумал что так не прокатит… вот судя по этому: https://github.com/modxcms/revolution/blob/master/core/xpdo/om/xpdoquery.class.php#L401 и этому: https://github.com/MODX-Club/modxSite/blob/master/core/components/modxsite/processors/site/web/getlist.class.php#L114 Твой вариант будет работать?

Хорошо. В новой версии getdata-процессоров изучу возможность в xPDO указывать собственные индексы. Но насколько я могу судить при беглом осмотре, этого нет там. Будем думать.

Все гораздо проще: ..... array( "sort" => "field1 DESC, field2", "dir" => "ASC", ),... // result ->sortby("field1 DESC, field2 ASC");

… foreach ($product as $output) { ... Да, я уже выяснил, что это с этого foreach вылезает массив. Спасибо огромное за помощь!!!

Думаю вот это: ... foreach ($product as $output) { ... Оставь просто: <?php $output = ""; $ids = $modx->resource->get('id'); if ($product = $modx->getObject('msProduct', $ids)) { $colors = $product->get('color'); $putkart = $product->get('put_kartinka'); $nackart = $product->get('nacenka_kartinka'); foreach ($colors as $vid => $cval) { $output .= $modx->getChunk('Test', array( 'color' =>$colors[$vid], 'nacenka' => $nackart[$vid], 'putkart' => $putkart[$vid])); } } return $output;

Спасибо, добрый человек! $output .= $product->get('pagetitle'); //(сомневаюсь что тебе это нужно здесь Это да, мне тут не нужно, ты прав :) Все выводит отлично, с небольшими изменениями твоего кода, но самое главное, ты меня «пнул» в нужном направлении… Но почему-то выводит помимо блоков с информацией еще и Array. Откуда берется не пойму. Вот полностью рабочий код: <?php $output = ""; $ids = $modx->resource->get('id'); if ($product = $modx->getObject('msProduct', $ids)) {

foreach ($product as $output) {
    $colors = $product->get('color');
    $putkart = $product->get('put_kartinka');
    $nackart = $product->get('nacenka_kartinka');
    foreach ($colors as $vid => $cval) {
        $output .= $modx->getChunk('Test', array(
            'color' =>$colors[$vid], 
            'nacenka' => $nackart[$vid], 
            'putkart' => $putkart[$vid]));
    }
}   

} return $output;

Если длина массивов (кол-во элементов) одинакова то вот: <?php $output = ""; $ids = $modx->resource->get('id'); if ($product = $modx->getObject('msProduct', $ids)) { $output .= $product->get('pagetitle'); //(сомневаюсь что тебе это нужно здесь :) foreach ($product as $output) { $colors = $product->get('color'); $putkart = $product->get('put_kartinka'); $nackart = $product->get('nacenka_kartinka'); foreach ($colors as $vid => $cval) { $output .= $modx->getChunk('Test', array('color' =>$color, 'nacenka' => $nackart[$vid], 'putkart' => $nackart[$vid])); } }
} return $output;

Вот короче как мог: GitHub :) может пригодится… Можно использовать так: — 1) $params = [ 'sort' => 'parent', 'dir' => 'ASC' ] — 2) $params = [ 'sort' => ['parent', 'menuindex'], 'dir' => 'ASC' ] — 3) $params = [ 'sort' => ['parent' => 'ASC', 'menuindex' => 'DESC'] ] — 4)2) $params = [ 'sort' => ['parent' => 'DESC', 'menuindex'], 'dir' => 'ASC' ]