/** * callback for purchase event * * @see install/index.php * @param $order_id */ public static function purchase($order_id) { $items = array(); foreach (Data::getOrderItems($order_id) as $item) { $items[] = array('item_id' => $item['PRODUCT_ID'], 'amount' => $item['QUANTITY'], 'price' => $item['PRICE']); } Functions::cookiePushPurchase($items, $order_id); }
private static function getOrdersForExport() { $dbOrders = Data::getLatestOrders(); $orders = array(); while ($dbOrder = $dbOrders->Fetch()) { $order = array('id' => $dbOrder['ID'], 'date' => strtotime($dbOrder['DATE_INSERT'])); if (!empty($dbOrder['USER_ID'])) { $order['user_id'] = $dbOrder['USER_ID']; } $dbItems = Data::getOrderItems($dbOrder['ID']); $items = array(); foreach ($dbItems as $dbItem) { $item = $dbItem['DATA']; $item['amount'] = $dbItem['QUANTITY']; $item['id'] = strval($item['item_id']); unset($item['item_id']); $items[] = $item; } $order['items'] = $items; $orders[] = $order; } return $orders; }
/** * get item params for view or cart push from basket id * * @param $id * @return array|bool */ public static function getBasketArray($id) { $libBasket = new \CSaleBasket(); $item = $libBasket->GetByID($id); return Data::getItemArray($item['PRODUCT_ID']); }
/** * get real item id for complex product */ public static function getRealItemID($item_id) { $arr = Data::getItemArray($item_id); if ($arr) { return $arr['item_id']; } else { return null; } }
/** * handler for include/rees46-recommender.php, render recommenders */ public static function run() { CModule::IncludeModule('catalog'); CModule::IncludeModule('sale'); CModule::IncludeModule("iblock"); global $USER; $recommended_by = ''; // get recommender name if (isset($_REQUEST['recommended_by'])) { $recommender = strval($_REQUEST['recommended_by']); $recommended_by = '?recommended_by=' . urlencode($recommender); switch ($recommender) { case 'buying_now': $recommender_title = GetMessage('REES_INCLUDE_BUYING_NOW'); break; case 'see_also': $recommender_title = GetMessage('REES_INCLUDE_SEE_ALSO'); break; case 'recently_viewed': $recommender_title = GetMessage('REES_INCLUDE_RECENTLY_VIEWED'); break; case 'also_bought': $recommender_title = GetMessage('REES_INCLUDE_ALSO_BOUGHT'); break; case 'similar': $recommender_title = GetMessage('REES_INCLUDE_SIMILAR'); break; case 'interesting': $recommender_title = GetMessage('REES_INCLUDE_INTERESTING'); break; case 'popular': $recommender_title = GetMessage('REES_INCLUDE_POPULAR'); break; default: $recommender_title = ''; } } $libCatalogProduct = new CCatalogProduct(); $libFile = new CFile(); // render items if (isset($_REQUEST['recommended_items']) && is_array($_REQUEST['recommended_items']) && count($_REQUEST['recommended_items']) > 0) { $found_items = 0; // Currency to display $sale_currency = Data::getSaleCurrency(); $html = ''; $html .= '<div class="recommender-block-title">' . $recommender_title . '</div>'; $html .= '<div class="recommended-items">'; foreach ($_REQUEST['recommended_items'] as $item_id) { $item_id = intval($item_id); $item = $libCatalogProduct->GetByIDEx($item_id); // Get price $final_price = Data::getFinalPriceInCurrency($item_id, $sale_currency); // Check price if ($final_price == false) { continue; } // Url to product with recommended_by attribute $link = $item['DETAIL_PAGE_URL'] . $recommended_by; // Get photo $picture_id = Data::getProductPhotoId($item_id); if ($picture_id === null) { continue; } $file = $libFile->ResizeImageGet($picture_id, array('width' => Options::getImageWidth(), 'height' => Options::getImageHeight()), BX_RESIZE_IMAGE_PROPORTIONAL, true); $html .= '<div class="recommended-item"> <div class="recommended-item-photo"><a href="' . $link . '"><img src="' . $file['src'] . '" class="item_img"/></a></div> <div class="recommended-item-title"><a href="' . $link . '">' . $item['NAME'] . '</a></div> ' . ($final_price ? '<div class="recommended-item-price">' . CCurrencyLang::CurrencyFormat($final_price, $sale_currency, true) . '</div>' : '') . ' <div class="recommended-item-action"><a href="' . $link . '">' . GetMessage('REES_INCLUDE_MORE') . '</a></div> </div>'; $found_items++; } $html .= '</div>'; if ($found_items > 0) { echo $html; } } }