Если проанализировать ТДС корзины в |последней версии HostCMS (6.6.4), включающую обработку быстрого заказа,
то можно заметить, что для магазина
без ЛК покупателя (для магазина с ЛК не сработает) можно просто
"разделить" обычный заказ от "быстрого":
if (Core_Array::getRequest('fast_order'))
{
// Сбрасываем информацию о последнем заказе
$_SESSION['last_order_id'] = 0;
// Оформление в один шаг
$aShop_Cart = Shop_Cart_Controller::instance()->getAll($oShop);
foreach ($aShop_Cart as $oShop_Cart)
{
$oShop_Cart->delete();
}
// Сохраняем содержимое обычной корзины
$_SESSION['hostcmsOrderOld'] = $_SESSION['hostcmsOrder']
$shop_item_id = intval(Core_Array::getRequest('shop_item_id'));
if ($shop_item_id)
{
Shop_Cart_Controller::instance()
->shop_item_id($shop_item_id)
->quantity(Core_Array::getRequest('count', 1))
->add();
}
$_SESSION['hostcmsOrder'] = array();
...
// Восстанавливаем содержимое обычной корзины
$_SESSION['hostcmsOrder'] = $_SESSION['hostcmsOrderOld']
echo json_encode($data);
exit();
}