Как я и говорил, проблема в том, что у вас передается многоуровневый массив.
(
[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]], оставил, чтобы вы посмотрели что и как. Удалите что не нужно будет.