Как в MODx передать массив из сниппета в чанк?

В MODX, чтобы передать массив из сниппета в чанк, вам потребуется использовать переменные.

В первую очередь, вам нужно создать массив внутри сниппета и заполнить его данными. Например:

$myArray = array(
    'item1' => 'значение 1',
    'item2' => 'значение 2',
    'item3' => 'значение 3'
);

Затем, используя объект MODX, вы можете передать этот массив внутрь нужного вам чанка. Например:

$chunkName = 'название_вашего_чанка';
$tmplVarName = 'имя_шаблонной_переменной';

// Получаем объект tplChunk по имени
$chunk = $modx->getObject('modChunk', ['name' => $chunkName]);

// Проверяем, существует ли чанк
if ($chunk) {
    // Устанавливаем переменную внутри чанка
    $chunk->set('TplVarName', $myArray);

    // Получаем содержимое чанка, передавая ему пустой массив для загрузки шаблонной переменной
    $output = $chunk->process($modx->resource, []);

    // Выводим содержимое чанка
    echo $output;
} else {
    echo 'Чанк не найден!';
}

Теперь, когда вы вызываете сниппет, ваш массив будет передаваться внутрь чанка в переменной TplVarName. В чанке вы можете обращаться к этой переменной, как к любому другому массиву. Например:

<p>Значение первого элемента массива: [[+TplVarName.item1]]</p>
<p>Значение второго элемента массива: [[+TplVarName.item2]]</p>
<p>Значение третьего элемента массива: [[+TplVarName.item3]]</p>

Таким образом, вы сможете передать массив из сниппета в чанк и использовать его для вывода нужных данных на вашей странице.