Будьте в курсе!
Новости, обзоры и акции
Время работы:
ПН-ПТ 09:00 - 18:00 МСК
//Для отдельной акции
$arrFilter = array(
'ID' => CIBlockElement::SubQuery('PROPERTY_CML2_LINK', array(
'IBLOCK_ID' => 3, //инфоблок торговых предложений
'PROPERTY_AFP_DISCOUNT_LIST' => 2 //ID скидки
))
); ?>
//Все товары со скидкой
$arrFilter = array(
'ID' => CIBlockElement::SubQuery('PROPERTY_CML2_LINK', array(
'IBLOCK_ID' => 3, //инфоблок торговых предложений
'>PROPERTY_AFP_DISCOUNT_VALUE' => 0
))
); ?>
Для простых товаров фильтр строится значительно проще, без использования подзапросов://Для отдельной акции
$arrFilter = array(
'PROPERTY_AFP_DISCOUNT_LIST' => 2 //ID скидки
); ?>
//Все товары со скидкой
$arrFilter = array(
'>PROPERTY_AFP_DISCOUNT_VALUE' => 0
); ?>
Также можно сделать фильтр, объединяющий оба варианта://Для отдельной акции
if ( CModule::IncludeModule( "iblock" ) )
{
$arrFilter = array();
$arSubQuery = array(
"IBLOCK_ID" => 17, // инфоблок торговых предложений.
"PROPERTY_AFP_DISCOUNT_LIST" => 2 //ID скидки
);
$obSubQuery = CIBlockElement::SubQuery('PROPERTY_CML2_LINK', $arSubQuery);
$arrFilter = array(
array(
"LOGIC" => "OR",
array(
"PROPERTY_AFP_DISCOUNT_LIST" => 2, //ID скидки
),
array(
"ID" => $obSubQuery,
),
),
);
}?>
//Все товары со скидкой
if ( CModule::IncludeModule( "iblock" ) )
{
$arrFilter = array();
$arSubQuery = array(
"IBLOCK_ID" => 17, // инфоблок торговых предложений.
">PROPERTY_AFP_DISCOUNT_VALUE" => 0
);
$obSubQuery = CIBlockElement::SubQuery('PROPERTY_CML2_LINK', $arSubQuery);
$arrFilter = array(
array(
"LOGIC" => "OR",
array(
">PROPERTY_AFP_DISCOUNT_VALUE" => 0,
),
array(
"ID" => $obSubQuery,
),
),
);
}?>
В последних версиях компонента фильтр можно задавать непосредственно при настройке компонента из публичной части.
3) Каталог - честная сортировка по цене (для простых товаров)
Компонент каталога позволяет использовать для простых товаров сортировку по цене, но эта сортировка не учитывает скидки. Используя этот модуль, вы можете выводить товары, отсортированные по цене с учётом скидки.
4) Быстрый вывод цены в каталоге
Для разработчиков: может так оказаться, что страницы каталога на вашем сайте работают очень медленно, и даже после всей возможной оптимизации последнее оставшееся узкое место - это вычисление и вывод цены на детальной странице или на странице списка, особенно когда недоступно кэширование (например, при использовании фильтра). В таком случае, вы можете отключить вычисление цены в настройках компонента и вместо этого выводить в шаблоне компонента свойства, заполненные данным модулем.
5) Быстрый вывод цены для выгрузки на Яндекс.Маркет и другие площадки
Аналогично предыдущему пункту, если создание файла выгрузки происходит слишком долго, замедляет сайт или же даже не успевает завершиться вовремя, чтобы вернуть файл, можно модифицировать генерацию файла таким образом, чтобы цена бралась из свойств, а не вычислялась - это значительно менее ресурсоёмкий процесс.
В каких случаях модуль вам не поможет:
1) Цены вычисляются для группы пользователей [2] (то есть, "все пользователи"). Если для задания цен в магазине вы активно используете различные группы пользователей с привязкой различных типов цен или различными скидками, то данные, записываемые агентом в свойства товаров, не будут достоверны и вряд ли вам пригодятся.
2) Как правило, даже в случае многосайтовости на отдельных сайтах используются раздельные каталоги. Однако, если у вас многосайтовость, при этом товары из одного и того же каталога выводятся на нескольких разных сайтах, и к тому же, что важно, на этих сайтах по-разному задаётся цена (например, используются разные скидки), то модуль будет вычислять правильные цены только для одного из сайтов (и точно неизвестно, для какого именно), поскольку разные наборы свойств в товарах для этого случая не предусмотрены.
Прочие советы:
Агент оптимизирован для работы с большими каталогами, дополнительные возможности по ускорению работы включаются в настройках модуля. На больших каталогах агент может работать достаточно долго, от нескольких секунд, до нескольких минут, поэтому рекомендуем использовать для запуска агентов cron. Чтобы это сделать, можете воспользоваться нашим бесплатным модулем Новости, обзоры и акции