Прошла все шаги со всеми ошибками. Для текущей версии рабочий вариант:
В типовой для четвертого шага ставим:
// Окончание оформления заказа
case 4:
$_SESSION['last_order_id'] = 0;
$_SESSION['hostcmsOrder']['shop_country_id'] = intval(Core_Array::getPost('shop_country_id', 0));
$_SESSION['hostcmsOrder']['shop_country_location_id'] = intval(Core_Array::getPost('shop_country_location_id', 0));
$_SESSION['hostcmsOrder']['shop_country_location_city_id'] = intval(Core_Array::getPost('shop_country_location_city_id', 0));
$_SESSION['hostcmsOrder']['shop_country_location_city_area_id'] = intval(Core_Array::getPost('shop_country_location_city_area_id', 0));
$_SESSION['hostcmsOrder']['postcode'] = Core_Str::stripTags(strval(Core_Array::getPost('postcode')));
$_SESSION['hostcmsOrder']['address'] = Core_Str::stripTags(strval(Core_Array::getPost('address')));
$_SESSION['hostcmsOrder']['surname'] = Core_Str::stripTags(strval(Core_Array::getPost('surname')));
$_SESSION['hostcmsOrder']['name'] = Core_Str::stripTags(strval(Core_Array::getPost('name')));
$_SESSION['hostcmsOrder']['patronymic'] = Core_Str::stripTags(strval(Core_Array::getPost('patronymic')));
$_SESSION['hostcmsOrder']['company'] = Core_Str::stripTags(strval(Core_Array::getPost('company')));
$_SESSION['hostcmsOrder']['phone'] = Core_Str::stripTags(strval(Core_Array::getPost('phone')));
$_SESSION['hostcmsOrder']['fax'] = Core_Str::stripTags(strval(Core_Array::getPost('fax')));
$_SESSION['hostcmsOrder']['email'] = Core_Str::stripTags(strval(Core_Array::getPost('email')));
$_SESSION['hostcmsOrder']['description'] = Core_Str::stripTags(strval(Core_Array::getPost('description')));
$_SESSION['hostcmsOrder']['tin'] = Core_Str::stripTags(strval(Core_Array::getPost('tin')));
$_SESSION['hostcmsOrder']['kpp'] = Core_Str::stripTags(strval(Core_Array::getPost('kpp')));
// Проверяем наличие товара в корзины
$Shop_Cart_Controller = Shop_Cart_Controller::instance();
$aShop_Cart = $Shop_Cart_Controller->getAll($oShop);
// А корзине есть товары или заполнен номер последнего заказа
if (count($aShop_Cart) || Core_Array::get($_SESSION, 'last_order_id'))
{
$shop_payment_system_id = $_SESSION['hostcmsOrder']['shop_payment_system_id'] = 26;//id используемой платежной системы
// Оплата бонусами с лицевого счета
$_SESSION['hostcmsOrder']['partial_payment_by_personal_account'] = Core_Array::getPost('partial_payment_by_personal_account', 0);
// Если выбрана платежная система
if ($_SESSION['hostcmsOrder']['shop_payment_system_id'])
{
Shop_Payment_System_Handler::factory(
Core_Entity::factory('Shop_Payment_System', $shop_payment_system_id)
)
->orderParams($_SESSION['hostcmsOrder'])
->execute();
}
else
{
?><h1>Ошибка! Не указана ни одна платежная система.</h1><?php
}
break;
// Иначе не прерываем и выводим последний шаг - обычная корзина
break;
}
default:
$xslName = Core_Array::get(Core_Page::instance()->libParams, 'cartXsl');
$Shop_Cart_Controller_Show
->couponText(
Core_Str::stripTags(Core_Array::get(Core_Array::get($_SESSION, 'hostcmsOrder', array()), 'coupon_text'))
)
->xsl(
Core_Entity::factory('Xsl')->getByName($xslName)
)
->show();
}
и вуа ля.