Чтобы метод SelectAllItemsFromCookieCart вернул данные, нужно чтобы данные корзины уже попали в сессию откуда он их возьмет.
Делается это насильным помещением даных корзины в сессию.
В настройках страницы исправляем на:
// Если сессия не была запущена - стартуем ее
if (!isset($_SESSION) && !class_exists("SiteUsers"))
меняем
if (isset($_POST['step_4']) || isset($_POST['step_1_1a'])) && !class_exists("SiteUsers")
на
if (!class_exists("SiteUsers"))
в конец блока if (isset($_POST['recount'])
добавляем запись данных в сессию:
/* Сохраним корзину в сессию */
$session_cart = array();
$MyCart = $shop->GetCart();
$items = to_array($MyCart[$shop_id]);
foreach ($items as $key => $value)
{
if (!$value['shop_cart_flag_postpone'])
{
/* Добавляем в корзину сессии */
$session_cart[$key] = $value;
}
}
/* Добавляем данные в сессию */
$_SESSION['CART'][$shop_id] = $session_cart;
В коде страницы убираем блок удаления данных сессии:
if (isset($_SESSION['CART'][$shop_id]))
{
unset($_SESSION['CART'][$shop_id]);
}