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

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

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

Итак, код:

$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;

}
Количество показов: 6283
24.01.2014

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

Если вам была полезна статья можете отблагодарить автора:
Ethereum:

0x16Df809287333C49D3A237296C6248A6c08702Bc

Разработка сайта

Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...

Сопровождение сайта

Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение

Работы по сайту

Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.