Advertisement
AD_min

Untitled

Nov 21st, 2019
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.29 KB | None | 0 0
  1. AddEventHandler("sale", "OnBasketAdd", "AddPresentToBasket");
  2. function AddPresentToBasket($ID, $arFields)
  3. {
  4.     CModule::IncludeModule("iblock");
  5.     CModule::IncludeModule("sale");
  6.  
  7.     $arIBlockFilter = array(
  8.         "IBLOCK_ID" => 27, // pair_products
  9.         "ACTIVE" => "Y",
  10.     );
  11.  
  12.     $dbBasketItems = CSaleBasket::GetList(
  13.         array("NAME" => "ASC", "ID" => "ASC"),
  14.         array("FUSER_ID" => CSaleBasket::GetBasketUserID(), "ORDER_ID" => "NULL")
  15.     );
  16.  
  17.     $arCurrentBasket = array();
  18.  
  19.     while($arBasketItem = $dbBasketItems->Fetch())
  20.     {
  21.         $arCurrentBasket[] = $arBasketItem['PRODUCT_ID'];
  22.     }
  23.  
  24.     $dbIblockElements = CIBlockElement::GetList(array("ID" => "ASC"), $arIBlockFilter, false, false, array("ID", "IBLOCK_ID"));
  25.     while($obIblockElement = $dbIblockElements->GetNextElement())
  26.     {
  27.         $arIblockElementProps = $obIblockElement->GetProperties();
  28.         if(!empty($arIblockElementProps['PARENT_PRODUCTS']['VALUE']) && !empty($arIblockElementProps['ADDITIONAL_PRODUCT']['VALUE']))
  29.         {
  30.             foreach ($arIblockElementProps['PARENT_PRODUCTS']['VALUE'] as $arParentProduct)
  31.             {
  32.                 if($arParentProduct == $arFields['PRODUCT_ID'] && !in_array($arIblockElementProps['ADDITIONAL_PRODUCT']['VALUE'], $arCurrentBasket))
  33.                 {
  34.                     Add2BasketByProductID($arIblockElementProps['ADDITIONAL_PRODUCT']['VALUE'], 1);
  35.                 }
  36.             }
  37.         }
  38.     }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement