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

Все понятно из кода. Массив 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;
         }
     }
 }