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