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


Цитата
Владислав Миронов пишет:
Добрый день!
Помогите настроить общее количество товаров у позиции в каталоге
Т.е. к примеру у позиции есть торговые предложения, у каждого предложения есть по 100 едениц товара... Как вывести все это "в общее количество" в список товаров (catalog.section)
В новом компоненте не работает DETAIL_SHOW_MAX_QUANTITY
Вот писал для себя. Эта функция суммирует количество по предложениям.

Код
//Получаем количество по всем складам и торговых предложений
function GetAmount($prodID)
{
   $isProductExistSKU = CCatalogSKU::IsExistOffers($prodID);
      if($isProductExistSKU)
      {
         $arSkuElements = $arSkuInfo = array();
         $intIBlockID = intval(CIBlockElement::GetIBlockByID($prodID));
         if($intIBlockID > 0)
            $arSkuInfo = CCatalogSKU::GetInfoByProductIBlock($intIBlockID);
         if(!empty($arSkuInfo) && is_array($arSkuInfo))
         {
            $dbAllSkuElements = CIBlockElement::GetList(
               array(),
               array('IBLOCK_ID' => $arSkuInfo['IBLOCK_ID'], '=PROPERTY_'.$arSkuInfo['SKU_PROPERTY_ID'] => $prodID),
               false,
               false,
               array('ID')
            );
            while($arAllSkuElements = $dbAllSkuElements->fetch())
            {
               $arSkuElements[] = $arAllSkuElements;
            }
         }
         $amount= 0;
         foreach($arSkuElements as $skuId)
         {
            if(isset($skuId["ID"]))
            {
               $arSkuId = $skuId["ID"];
               $rsProps = CCatalogStore::GetList(array(), array('ACTIVE' => 'Y', "PRODUCT_ID" => $arSkuId, "ISSUING_CENTER" => 'Y'), false, false, array("PRODUCT_AMOUNT"));
               while($arStore = $rsProps->GetNext())
               {
                  $amount= $amount + $arStore['PRODUCT_AMOUNT'];
               }
            }
         }
   }
return $amount;
}
 
Разместить можно или в шаблоне catalog.element или в modifer_result.php и вывести новый параметр
Код
$arResult['AMOUNT']= GetAmount($arResult['ID']);
 
Ну а потом в шаблоне вывести уже.

 

 

Источник: https://dev.1c-bitrix.ru/community/forums/messages/forum6/topic63491/message334012/#message334012

Назад в раздел

Подписаться на новые материалы раздела:














CAPTCHA