Получение всех товаров, которые имеют скидку

Получение всех товаров, которые имеют скидку

1202
24.01.2014

Понадобилось тут создать страницу, на которую выводятся все товары, имеющие скидку. 
Решение простое. Себе на будущее ... 

Понадобилось тут создать страницу, на которую выводятся все товары, имеющие скидку. 
Решение простое. Себе на будущее ... 

Итак, код:

$arElements = GET_SALE_FILTER();
global $searchFilter;
$searchFilter = array("=ID" => $arElements);
$APPLICATION->IncludeComponent(
 "bitrix:catalog.section",
 "template",
 array(
       ...
        "FILTER_NAME" => "searchFilter",
       ...
    ),
);

ну и сама функция получения товаров, имеющих скидку: 

function GET_SALE_FILTER(){
  global $DB;

  $arDiscountElementID = array();
  $dbProductDiscounts = CCatalogDiscount::GetList(
     array("SORT" => "ASC"),
     array(
        "ACTIVE" => "Y",
        "!>ACTIVE_FROM" => $DB->FormatDate(date("Y-m-d H:i:s"),
              "YYYY-MM-DD HH:MI:SS",
              CSite::GetDateFormat("FULL")),
        "! $DB->FormatDate(date("Y-m-d H:i:s"),
              "YYYY-MM-DD HH:MI:SS",
              CSite::GetDateFormat("FULL")),
     ),
     false,
     false,
     array(
        "ID", "SITE_ID", "ACTIVE", "ACTIVE_FROM", "ACTIVE_TO",
        "RENEWAL", "NAME", "SORT", "MAX_DISCOUNT", "VALUE_TYPE",
        "VALUE", "CURRENCY", "PRODUCT_ID"
     )
  );
  while ($arProductDiscounts = $dbProductDiscounts->Fetch())
  {
     if($res = CCatalogDiscount::GetDiscountProductsList(array(), array(">=DISCOUNT_ID" => $arProductDiscounts['ID']), false, false, array())){
        while($ob = $res->GetNext()){
           if(!in_array($ob["PRODUCT_ID"],$arDiscountElementID))
              $arDiscountElementID[] = $ob["PRODUCT_ID"];
        }}
  }

  return $arDiscountElementID;

}


Благодарю за внимание! Делитесь вашими замечаниями в комментариях ниже.


P.S. Обращайтесь ко мне за приобретением лицензий и продлений на 1C-Битрикс "Управление сайтом", лицензий на облачную и коробочную версии Битрикс 24 а также за приобретением и внедрением готовых решений на базе 1С-Битрикс от партнеров. За более подробной информацией свяжитесь со мной любым удобным для вас способом


Комментарии

Еще никто не комментировал данную публикацию. Будьте первыми!

Добавить комментарий

captcha

Возврат к списку