Помогите разобраться

193
10 марта 2022, 09:10

Всем, привет. Помогите пожалуйста разобраться с корзиной, а именно с изменением количества товара через инпут. Вроде все делаю правильно, а изменение количества не происходит.

Вот сам код:

<? 
    require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');  
    CModule::IncludeModule("iblock");//Подключаю Инфоблоки 
    CModule::IncludeModule("catalog"); //Подключаю Каталог 
    CModule::IncludeModule("sale"); //Подключаю Продажи 
    CModule::IncludeModule('highloadblock');// Подключаю High-Блоки 
    $date_now = date("d.m.Y H:i:s");//Текущее время 
    $postDeleteItemID = $_POST["deleteItemID"];//Удаление товара из корзины 
    $editPlusItemID = $_POST["editPlusItemID"];//Увеличение количество товара в корзине 
    $editMinusItemID = $_POST["editMinusItemID"]; //Уменьшение количество товара в корзине 
    $changeItemID = $_POST["changeItemID"];//Переменная Изменение количества товара в корзине через инпут 
    $quanityItem = $_POST["QUANTITY"];//Переменная количества товара 
    $createBasket = $_POST["createBasket"];//Переменная создания букета 
    $idSelectArray = $_POST["bouquet_item"]; 
    $current_page = $_POST["current_page"]; 
    $item_id = $_POST["item_id"]; 
    $WishId = $_POST["wishId"]; 
    if(isset($_POST["count_item"]))$count_item = $_POST["count_item"]; else $count_item = 1; 
    if(isset($item_id)){ 
        Add2BasketByProductID($item_id,$count_item,array()); 
    } 
    if($editPlusItemID || $editMinusItemID || $postDeleteItemID || $item_id) $opener_active = "active"; else  $opener_active = ""; 
    //Удаление элемента при клике на крестик 
    if(isset($postDeleteItemID) && $postDeleteItemID != ""){ 
        CSaleBasket::Delete($postDeleteItemID); 
    } 
 
    //Увеличение количество товара в корзине 
    if(isset($editPlusItemID) && $editPlusItemID != ""){ 
        $arFields = array( 
           "QUANTITY" => $quanityItem, 
        ); 
        CSaleBasket::Update($editPlusItemID, $arFields); 
    } 
    //Уменьшение количество товара в корзине 
    if(isset($editMinusItemID) && $editMinusItemID != ""){ 
        $arFields = array( 
           "QUANTITY" => $quanityItem, 
        ); 
        CSaleBasket::Update($editMinusItemID, $arFields); 
    } 
 
    //Изменение количества товара в корзине через инпут 
    if(isset($changeItemID) && $changeItemID != ""){ 
        $arFields = array( 
           "QUANTITY" => $quanityItem, 
        ); 
        CSaleBasket::Update($changeItemID, $arFields); 
    } 
 
    // Выведем актуальную корзину для текущего пользователя 
    $arBasketItems = array(); 
    $dbBasketItems = CSaleBasket::GetList( 
            array( 
                    "NAME" => "ASC", 
                    "ID" => "ASC" 
                ), 
            array( 
                    "FUSER_ID" => CSaleBasket::GetBasketUserID(), 
                    "LID" => SITE_ID, 
                    "ORDER_ID" => "NULL", 
                    "DELAY" => "N" 
                ), 
            false, 
            false, 
            array("ID","PRODUCT_ID","PRODUCT_PRICE_ID","NAME","PRICE","CURRENCY","QUANTITY","BASE_PRICE") 
        ); 
    $CountItemBasket =  CSaleBasket::GetList(false, array("FUSER_ID" => CSaleBasket::GetBasketUserID(),"LID" => SITE_ID,"ORDER_ID" => "NULL","DELAY" => "N"),false,false,array("ID" ))->SelectedRowsCount(); 
    if($CountItemBasket == 0) $empty = "block"; else $empty = "none"; 
    ?> 
 
 
  <div class="header"> 
    <a class="basket-opener" title="Корзина" onclick="BasketOpener();"> 
      <div class="icon"> 
        <div class="text"> 
          <div class="uni-aligner-vertical"></div> 
          <div class="text_number"> 
            <?=$CountItemBasket?> 
          </div> 
        </div> 
      </div> 
    </a> 
  </div> 
  <div class="sections <?=$opener_active?>"> 
    <div class="section product_section" id="product-section" style="display: block;"> 
      <div id="basket-root" class="bx-basket bx-green bx-step-opacity" style="opacity: 1;"> 
        <div class="row"> 
          <div class="col"> 
            <div class="mb-3 basket-items-list-wrapper basket-items-list-wrapper-height-fixed basket-items-list-wrapper-light" id="basket-items-list-wrapper"> 
              <div class="basket-items-list-container" id="basket-items-list-container" style="min-height: 0px;"> 
                <div class="basket-items-list-overlay" id="basket-items-list-overlay" style="display: none;"></div> 
                <div class="basket-items-list" id="basket-item-list" style="height: 300px; overflow-y: auto;"> 
                  <div class="basket-search-not-found" id="basket-item-list-empty-result" style="display: <?=$empty?>;"> 
                    <div class="basket-search-not-found-icon"></div> 
                    <div class="basket-search-not-found-text">Корзина пуста</div> 
                  </div> 
                  <table class="basket-items-list-table" id="basket-item-table"> 
                    <tbody> 
                      <?$count=0;?> 
                        <?while ($arItems = $dbBasketItems->Fetch()){ 
		//Выбор товара из инфоблока 
		$objectItem = Array("IBLOCK_ID", "ID", "NAME", "PREVIEW_PICTURE", "IBLOCK_SECTION_ID","DETAIL_PAGE_URL", "PROPERTY_6", "PROPERTY_7", "PROPERTY_8", "PROPERTY_97"); 
		$objectOrder = Array("ID"=>"ASC");//Сортировка 
		$objectFilter = Array( 
			"ID" => $arItems["PRODUCT_ID"] 
		);//Фильтр 
		$objectSelectArray = CIBlockElement::GetList($objectOrder, $objectFilter, false, Array(), $objectItem); 
		$item_properties = ""; 
		while($obSelectObject  = $objectSelectArray ->GetNextElement()){ 
 
			$objectFields = $obSelectObject ->GetFields(); 
			$objectProperties  = $obSelectObject ->GetProperties(); 
			//Вывод картинки 
			$item_image = CFile::GetPath($objectFields["PREVIEW_PICTURE"]); 
			//Вывод цены товара, учитываю количество этого товара 
			$priceAllItem = $arItems["PRICE"]*$arItems["QUANTITY"]; 
			$totalPriceBasket = $totalPriceBasket + $priceAllItem; 
		 
			$priceAllItemDiscount = $arItems["BASE_PRICE"]*$arItems["QUANTITY"]; 
			$totalPriceBasketDiscount = $totalPriceBasketDiscount + $priceAllItemDiscount; 
			$discountPrice = $totalPriceBasket - $totalPriceBasketDiscount; 
			if($objectFields["PROPERTY_6_VALUE"] == 'да') $new = "Y"; else $new = "N"; 
			if($objectFields["PROPERTY_7_VALUE"] == 'да') $hit = "Y"; else $hit = "N"; 
			if($objectFields["PROPERTY_8_VALUE"] == 'да') $stock = "Y"; else $stock = "N"; 
	?> 
 
                          <tr class="basket-items-list-item-container" id="basket-item-<?=$arItems[" ID "]?>" data-entity="basket-item" data-id="<?=$arItems[" ID "]?>"> 
                            <td class="basket-items-list-item-descriptions"> 
                              <div class="basket-items-list-item-descriptions-inner" id="basket-item-height-aligner-<?=$arItems[" ID "]?>"> 
                                <div class="basket-item-block-image"> 
                                  <a href="<?=$objectFields[" DETAIL_PAGE_URL "]?>" class="basket-item-image-link"> 
                                    <?if($item_image){?> 
                                      <img class="basket-item-image" alt="<?=$objectFields[" NAME "]?>" src="<?=$item_image?>"> 
                                      <?}else{?> 
                                        <div class="empty-image-block"></div> 
                                        <?}?> 
                                  </a> 
                                </div> 
                                <div class="basket-item-block-info"> 
                                  <span class="basket-item-actions-remove d-block d-md-none" data-entity="basket-item-delete"></span> 
                                  <h2 class="basket-item-info-name"> 
                                    <a href="<?=$objectFields[" DETAIL_PAGE_URL "]?>" class="basket-item-info-name-link"> 
                                      <span data-entity="basket-item-name"><?=$objectFields["NAME"]?></span> 
                                    </a> 
                                  </h2> 
                                  <div class="basket-item-block-properties"></div> 
                                </div> 
                              </div> 
                            </td> 
                            <td class="basket-items-list-item-price basket-items-list-item-price-for-one"> 
                              <div class="basket-item-block-price d-none d-sm-block"> 
                                <div class="basket-item-price-current"> 
                                  <span class="basket-item-price-current-text" id="basket-item-price-<?=$arItems[" ID "]?>"><?=CurrencyFormat($arItems["PRICE"], "RUB")?></span> 
                                </div> 
                                <div class="basket-item-price-title">цена за 1 
                                  <?if($objectFields["PROPERTY_97_VALUE"] === 'пар') { ?>пару 
                                    <?}else{?> 
                                      <?=$objectFields["PROPERTY_97_VALUE"];?> 
                                        <?}?> 
                                </div> 
                              </div> 
                            </td> 
                            <td class="basket-items-list-item-amount"> 
                              <div class="basket-item-block-amount" data-entity="basket-item-quantity-block"> 
                                <span class="basket-item-amount-btn-minus" data-entity="basket-item-quantity-minus" onclick="editMinusItemBasket(<?=$arItems[" ID "]?>,<?=$arItems['QUANTITY']?>)"></span> 
                                <div class="basket-item-amount-filed-block"> 
                                  <input type="text" class="basket-item-amount-filed" value="<?=$arItems['QUANTITY']?>" data-value="<?=$arItems['QUANTITY']?>" data-entity="basket-item-quantity-field" id="basket-item-quantity-<?=$arItems[" ID "]?>"> 
                                </div> 
                                <span class="basket-item-amount-btn-plus" data-entity="basket-item-quantity-plus" onclick="editPlusItemBasket(<?=$arItems[" ID "]?>,<?=$arItems['QUANTITY']?>)"></span> 
                                <div class="basket-item-amount-field-description"> 
                                  <?=$objectFields["PROPERTY_97_VALUE"];?> 
                                </div> 
                              </div> 
                            </td> 
                            <td class="basket-items-list-item-price"> 
                              <div class="basket-item-block-price"> 
                                <div class="basket-item-price-current"> 
                                  <span class="basket-item-price-current-text" id="basket-item-sum-price-<?=$arItems[" ID "]?>"><?=CurrencyFormat($priceAllItem, "RUB")?></span> 
                                </div> 
                              </div> 
                            </td> 
                            <td class="basket-items-list-item-remove d-none d-md-block"> 
                              <div class="basket-item-block-actions"> 
                                <span class="basket-item-actions-remove" onclick="ajax_basket_delete_item(<?=$arItems[" ID "]?>);"></span> 
                              </div> 
                            </td> 
                          </tr> 
                          <?}}?> 
                    </tbody> 
                  </table> 
                </div> 
              </div> 
            </div> 
          </div> 
        </div> 
 
        <script> 
          $(document).ready(function() { 
            var BasketItems = $('.basket-small-fly .text_number').text(), 
              BasketCost = $('.basket-small-fly .basket-coupon-block-total-price-current').text(); 
            $('#win8_wrapper').hide() 
            $('.dropdown-block').click(function() { 
              if ($('.dropdown-list', this).hasClass('active')) { 
                $('i', this).removeClass('fa-caret-up').addClass('fa-caret-down'); 
                $('.dropdown-list', this).slideUp(0); 
                $('.dropdown-list', this).removeClass('active'); 
              } else { 
                $('i', this).removeClass('fa-caret-down').addClass('fa-caret-up'); 
                $('.dropdown-list', this).slideDown(300); 
                $('.dropdown-list', this).addClass('active'); 
              } 
            }); 
            $('.dropdown-list li').click(function() { 
              var count_item = $('.count-item', this).text(); 
              $('li.selected .count-item').text(count_item); 
              var item_id = $(this).closest('.item-block').attr('data-id'); 
              changeItemBasket(item_id, count_item); 
 
            }); 
          }); 
        </script>

READ ALSO
проверить реальный memory_limit

проверить реальный memory_limit

В phpinfo стоит 1024МПри запуске скрипта получаю Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)

72
Не работает метод Auth::login() в Laravel

Не работает метод Auth::login() в Laravel

В общем суть такова, у меня есть несколько баз данных, в каждой базе данных есть таблица пользователей с одинаковыми значениями в каждой базе...

69
Определять выход дочернего элемента за границы родителя? js (jquery)

Определять выход дочернего элемента за границы родителя? js (jquery)

делаю многоуровневое меню (три уровня), столкнулся с проблемой, что у крайних пунктов, меню вторых третьих уровней выходят за зону видимости...

104