Как я и говорил, проблема в том, что у вас передается многоуровневый массив.
( [0] => Array ( [0] => L [1] => Classic Ball 3-5 мм [2] => молочный ) )
Но как эту проблему решить с шопкипером, я не знаю, так как перелопачивать его нет никакого желания. Посмотрите, я дописал у вас сниппет arrayToStr
<?php // $modx->log только для отладки, потому можно удалить эту строку $input = $modx->getPlaceholder("addit_data"); $modx->log(1, "addit_data test", "FILE"); $modx->log(1, print_r($input, 1), "FILE"); $modx->log(1, print_r($modx->getPlaceholder("shkDataArray"), 1), "FILE"); $modx->log(1, "addit_data test end", "FILE"); // return $input && is_array($input) ? implode(",", $input) : $input; return "dsfg";
Плейсхолдер shkDataArray я устанавливаю в файле core/components/shopkeeper3/model/shopkeeper.class.php на строке 1297. Посмотрите там код.
Вот свою переменную я в сниппете смог получить как есть, а вот плейсхолдер data_arr там же в сниппете я получаю Array, то есть где-то он преобразовывается.

Сорри, ничем больше не помогу.

P.S. в чанке orderDataRow я тоже дописал [[!arrayToStr]], оставил, чтобы вы посмотрели что и как. Удалите что не нужно будет.