Как узнать находится ли товар в корзине?

Все понятно из кода. Массив pages_arr объявлен как статический, чтобы сохранял свое значение между вызовами метода (в случае, если такая проверка производится не один раз в пределах страницы)

private static $pages_arr= array();

public function isInCart($id){
    $emarket = cmsController::getInstance()->getModule("emarket");
    $page = (int) $id;
    if(is_null($pages_arr)){
        // текущая корзина покупателя
        $order_object = $emarket->getBasketOrder();
        $order = order::get($order_object->id);
        // Список элементов заказа
        $orderItems = $order->getItems();
        foreach($orderItems as $orderItem) {
            // $page_id - id товара в корзине
            $page_id = $orderItem->getItemElement()->getObjectId();
            $pages_arr[] = $page_id;
        }
        // если товаров нет, то ставим пустой массив
        if(is_null($pages_arr)) $pages_arr = array();
            if(in_array($page, $pages_arr)){
                return true;
            }else{
                return false;
            }
        }else{
        if(in_array($page, $pages_arr)){
            return true;
        }else{
            return false;
        }
    }
}