ну тогда пока жду ваш вариант решения)
case 'msOnGetProductPrice':
$_call_from = $modx->getPlaceholder('_call_from');
if(!empty($_call_from)){
switch($_call_from){
case 'cart':
if(!empty($data['msoptionsprice_options']['msal'])){
$msal = json_decode($data['msoptionsprice_options']['msal'], true);
$new_price = $data['price'] + $msal['additional_price'];
//Дружим msal и mspc2
/**/ $modx->setPlaceholder('_returned_price', array(
'id' => $data['id']
,'price' => $new_price
,'old_price' => $price
));
$modx->event->returnedValues['price'] = $new_price;
$modx->event->returnedValues['data']['price'] = $new_price;
// $modx->event->returnedValues['old_price'] = $new_price;
}
break;
}
}