Как передать переменную в чанк через сниппет в MODX Revo?

В MODX Revolution (MODX Revo) для передачи переменной в чанк через сниппет можно использовать несколько способов.

1. Использование атрибута &tpl сниппета при вызове в коде:

[[snippetName? &param1=`значение1` &param2=`значение2` &tpl=`myChunk`]]

В данном случае myChunk - это имя вашего чанка, в котором вы хотите использовать переменные param1 и param2. В самом чанке вы можете получить доступ к переданным переменным следующим образом:

[[+param1]]
[[+param2]]

2. Использование атрибута &tplChunk сниппета при вызове:

[[snippetName? &param1=`значение1` &param2=`значение2` &tplChunk=`myChunk`]]

Таким образом, переменные param1 и param2 будут доступны внутри заданного чанка myChunk по тем же именам:

[[+param1]]
[[+param2]]

3. Использование модификатора @CHUNK внутри самого чанка:

[[+myVariable:snippetName=`значение1,значение2`]]

В данном случае myVariable - это имя переменной, которую вы хотите передать в сниппет, а snippetName - имя сниппета. В самом сниппете вы можете получить доступ к переданным переменным следующим образом:

$param1 = $modx->getOption('param1', $scriptProperties, '');
$param2 = $modx->getOption('param2', $scriptProperties, '');

4. Использование глобальной переменной $modx->getChunk() внутри самого сниппета:

$myChunk = $modx->getChunk('myChunk', ['param1' => 'значение1', 'param2' => 'значение2']);

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

[[+param1]]
[[+param2]]

Это основные способы передачи переменных в чанк через сниппет в MODX Revo. Выберите наиболее удобный для вас способ, в зависимости от конкретной задачи и особенностей вашего проекта.