Всем привет. Прошу помочь в реализации переключателя валют для пользователя. Что сделано:
1. В компоненте каталога проставлены convert_currency и currency_id;
2. В init.php прописал код:
который возвращает свой массив с данными;
Проблема: в корзине и в оформлении не показывает валюту, которую я выбрал (любым способом). Т.е. если текущая конструкция в init.php, то сумма в корзине показывается в конвертированном руб. Прошу помочь, спасибо
1. В компоненте каталога проставлены convert_currency и currency_id;
2. В init.php прописал код:
Код |
---|
global $LocalPrice; $LocalPrice = 0; AddEventHandler("catalog", "OnGetOptimalPrice", "MyGetOptimalPrice"); function MyGetOptimalPrice($productID, $quantity = 1, $arUserGroups = array(), $renewal = "N", $arPrices = array(), $siteID = false, $arDiscountCoupons = false) { global $LocalPrice; if($LocalPrice <= 0) { // Выведем актуальную корзину для текущего пользователя $dbBasketItems = CSaleBasket::GetList(false, array( "FUSER_ID" => CSaleBasket::GetBasketUserID(), "LID" => SITE_ID, "ORDER_ID" => "NULL", ), false, false, array("ID", "MODULE", "PRODUCT_ID", "CALLBACK_FUNC", "QUANTITY", "DELAY", "CAN_BUY", "PRICE") ); while ($arItem = $dbBasketItems->Fetch()) { if($arItem['DELAY'] == 'N' && $arItem['CAN_BUY'] == 'Y') { $LocalPrice += $arItem['PRICE']*$arItem['QUANTITY']; } } } $arOptPrices = CCatalogProduct::GetByIDEx($productID); $price = $arOptPrices['PRICES'][1]['PRICE']; $catalog_group_id = 1; return array( 'PRICE' => array( "ID" => $productID, 'CATALOG_GROUP_ID' => $catalog_group_id, 'PRICE' => $price, 'CURRENCY' => "USD", 'ELEMENT_IBLOCK_ID' => $productID, 'VAT_INCLUDED' => "Y", ), 'DISCOUNT' => array( 'VALUE' => $discount, 'CURRENCY' => "USD", ), ); } |
Проблема: в корзине и в оформлении не показывает валюту, которую я выбрал (любым способом). Т.е. если текущая конструкция в init.php, то сумма в корзине показывается в конвертированном руб. Прошу помочь, спасибо