Проверить на пустоту корзины можно так:
$Shop_Cart_Controller = Shop_Cart_Controller::instance();
$aShop_Cart = $Shop_Cart_Controller->getAll($oShop);
Если в корзине нет товаров масссив $aShop_Cart будет пустым.
Пример добавления товара в корзину :
$oShop_Cart_Controller
->clear()
//->checkStock($bCheckStock)
->shop_item_id(intval($shop_item_id))
->quantity(floatval(Core_Array::get($count, $key, 1)))
->add();