Является ли текущий товар добавленным в корзину или нет
Материал из Umicms
Задача: Возникла необходимость узнать, является ли текущий товар добавленным в корзину или не является.
Решение: Для реализации данной задачи, необходимо кастомизировать метод emarket cart, создать метод emarket is_cart($id), в метод передается id товара, метод получает текущею корзину и выбирает из нее товары:
public function is_cart($id){ $ini = cmsController::getInstance()->getModule("emarket"); $page = (int) $id; static $pages_arr; if(is_null($pages_arr)){ // текущая корзина покупателя $order_object = $ini->getBasketOrder(); $order = order::get($order_object->id); // Список элементов заказа $orderItems = $order->getItems(); foreach($orderItems as $orderItem) { // $page_id - id товара в корзине $page_id = $orderItem->getItemElement()->getId(); $pages_arr[] = $page_id; } // если товаров нет, то ставим пустой массив if(is_null($pages_arr)) $pages_arr = array(); if(in_array($page, $pages_arr)){ return 'in cart'; }else{ return 'not in cart'; } }else{ if(in_array($page, $pages_arr)){ return 'in cart'; }else{ return 'not in cart'; } } } }
