Server IP : 85.193.89.191 / Your IP : 18.191.181.12 Web Server : Apache System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64 User : bitrix ( 600) PHP Version : 8.1.27 Disable Function : NONE MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/bitrix/www/ajax/ |
Upload File : |
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); \Bitrix\Main\Loader::includeModule('sale'); if($_POST['ID']){ if($_POST['ACTION'] == 'DELETE'){ CSaleBasket::Delete($_POST['ID']); } if($_POST['ACTION'] == 'CHANGE' && $_POST['QUANTITY']){ $arFields = array( "QUANTITY" => $_POST['QUANTITY'], "DELAY" => "N" ); CSaleBasket::Update($_POST['ID'], $arFields); } ob_start(); $APPLICATION->IncludeComponent("bitrix:sale.basket.basket.line","custom",Array( "HIDE_O N_BASKET_PAGES" => "Y", "PATH_TO_BASKET" => SITE_DIR."personal/cart/", "PATH_TO_ORDER" => SITE_DIR."personal/order/make/", "PATH_TO_PERSONAL" => SITE_DIR."personal/", "PATH_TO_PROFILE" => SITE_DIR."personal/", "PATH_TO_REGISTER" => SITE_DIR."login/", "POSITION_FIXED" => "Y", "POSITION_HORIZONTAL" => "right", "POSITION_VERTICAL" => "top", "SHOW_AUTHOR" => "Y", "SHOW_DELAY" => "N", "SHOW_EMPTY_VALUES" => "Y", "SHOW_IMAGE" => "Y", "SHOW_NOTAVAIL" => "N", "SHOW_NUM_PRODUCTS" => "Y", "SHOW_PERSONAL_LINK" => "N", "SHOW_PRICE" => "Y", "SHOW_PRODUCTS" => "Y", "SHOW_SUMMARY" => "Y", "SHOW_TOTAL_PRICE" => "Y" ) ); // сохраняем всё что есть в буфере в переменную $content $content = ob_get_contents(); // отключаем и очищаем буфер ob_end_clean(); $optPriceTypeID = COption::GetOptionString('main', 'basket_id_price_opt', '', SITE_ID); $basePriceTypeID = COption::GetOptionString('main', 'basket_id_price_base', '', SITE_ID); $sumOpt = COption::GetOptionString('main', 'basket_recalc_summ', '10000', SITE_ID); $session = \Bitrix\Main\Application::getInstance()->getSession(); if($optPriceTypeID && $basePriceTypeID && $sumOpt){ //текущая сумма корзины $summ = 0; $dbBasketItems = CSaleBasket::GetList( array(), array( "FUSER_ID" => CSaleBasket::GetBasketUserID(), "LID" => SITE_ID, "ORDER_ID" => "NULL", "!DELAY" => "Y" ), false, false, array("ID","MODULE", "PRODUCT_ID", "QUANTITY", "PRICE") ); while ($arRow = $dbBasketItems->Fetch()) { $arPriceBase = CPrice::GetList( array(), array( "PRODUCT_ID" => $arRow['PRODUCT_ID'], "CATALOG_GROUP_ID" => $optPriceTypeID ) )->Fetch(); if (!$arPriceBase['PRICE']) { $arPriceBase = CPrice::GetList( array(), array( "PRODUCT_ID" => $arRow['PRODUCT_ID'], "CATALOG_GROUP_ID" => $basePriceTypeID ) )->Fetch(); } $summ += $arRow['QUANTITY'] * $arPriceBase['PRICE']; } if (!$session->has('price_o')) { if($summ >= $sumOpt){ $session->set('price_o', '1'); } else { $session->set('price_o', '0'); } } if($summ >= $sumOpt && $session['price_o'] == '0'){ $session->set('price_o', '1'); echo json_encode([ 'status' => 'updateProductList', 'opt' => '1', 'totalPrice' => $content ]); die(); } elseif ($summ < $sumOpt && $session['price_o'] == '1') { $session->set('price_o', '0'); echo json_encode([ 'status' => 'updateProductList', 'opt' => '0', 'totalPrice' => $content ]); die(); } } echo json_encode([ 'status' => 'updateTotalPrice', 'totalPrice' => $content ]); }