Как в чанк передать массив и работать с ним ?
Здравствуйте, подскажите пожалуйста как в чанк передать массив, а потом в чанк с ним поработать?
Есть такая вот конструкция, $logArray — это массив. А в чанк как с ним дальше? Причем массив ассоциативный, есть просто {ключ => значение} а есть и {ключ => массив}
Заранее благодарю за ответ
Есть такая вот конструкция, $logArray — это массив. А в чанк как с ним дальше? Причем массив ассоциативный, есть просто {ключ => значение} а есть и {ключ => массив}
$modx->getChunk('tpl.1cUnloading.email',array(
'elem' => $logArray
));
На самом деле хотелось бы в чанке tpl.1cUnloading.email использовать fenom, и в нём уже сделать циклы по массиву который передаю.Заранее благодарю за ответ
Комментарии: 6
В чанке у вас должен оказаться массив $elem с которым вы можете работать в цикле {foreach $elem as $item}{/foreach}
Благодарю за ответ
Хотелось бы дополнить ответ Александра еще тем что у fenom есть модификатор iterable.
iterable — проверка возможности перебора переменной
iterable — проверка возможности перебора переменной
{var $array = ['key' => 'value']}
{if $array | iterable}
{foreach $array as $key => $value}
<p>{$key} is {$value}</p>
{/foreach}
{/if}
Благодарю за ответ
Для того что бы использовать fenom в своём чанке, воспользовался конструкцией:
Источник про pdoTools — docs.modx.pro/komponentyi/pdotools/klassyi/pdotools
$pdo = $modx->getService('pdoTools');
$output = $pdo->getChunk('tpl.1cUnloading.email',array("elem" => $logArray));
Как я понял обычный getChunk MODX не воспринимает fenom, поэтому вызвал метод getChunk pdoToolsИсточник про pdoTools — docs.modx.pro/komponentyi/pdotools/klassyi/pdotools
Либо
$output = $pdo->getChunk('tpl.1cUnloading.email', ["elem" => $logArray]);
$maxIterations= (integer) $modx->getOption('parser_max_iterations', null, 10);
$modx->getParser()->processElementTags('', $output, false, false, '[[', ']]', array(), $maxIterations);
$modx->getParser()->processElementTags('', $output, true, true, '[[', ']]', array(), $maxIterations);
Хотя если pdoTools исполняет сниппеты, то ваш метод будет «красивее».
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.