Задать вопрос
Radiotel
@Radiotel

Как сделать фильтр по свойству «Цвет» для простых товаров и товаров с ТП?

В моем случае:

Если товар обычный - то устанавливаются цвет в свойство товара COLOR
Но если товар с торговыми предложениями, то тогда цвет у товара не заполняется, а заполняется только у его торговых предложений (У ТП тоже свойства с кодом - COLOR).

Мне нужно получить товары, которые например имеют цвет red или jade.

То есть чтобы нашел либо простой товар с каким то из этих цветов и/или товар у которого есть торговое предложение с каким то из этих цветов.

Использую для вывода товаров компонент bitrix:catalog.section

Вот такой фильтр у меня получается:
{
   ">=CATALOG_PRICE_1":844,
   "<=CATALOG_PRICE_1 ":4834,
   "PROPERTY_IS_NEW":"29",
   "0":{
      "LOGIC":"OR",
      "0":{
         "PROPERTY_COLOR":[
            "red",
            "jade"
         ]
      },
      "1":{
         "PROPERTY_COLOR ":false,
         "OFFERS":{
            "ACTIVE":"Y",
            "PROPERTY_COLOR":[
               "red",
               "jade"
            ]
         }
      }
   }
}


Подскажите пожалуйста в чем ошибки и как решить эту проблему?

Вот параметры компонента на всякий случай:

$componentParams = [
    'IBLOCK_ID'                 => Constants::IBLOCK['CATALOG'],
    'IBLOCK_TYPE'               => 'catalog',
    'SECTION_ID'                => $sectionId,
    'PAGE_ELEMENT_COUNT'        => $request->get('SIZEN_1') ?: 20,
    'CACHE_TYPE'                => 'N', // Отключаем кеш для AJAX
    'CACHE_TIME'                => 0,
    'CACHE_FILTER'              => 'N',
    'AJAX_MODE'                 => 'N',
    'FILTER_NAME'               => 'arrFilter',
    'COMPATIBLE_MODE'           => 'Y',
    'ELEMENT_SORT_FIELD'        => $sort[0],
    'ELEMENT_SORT_FIELD2'       => 'id',
    'ELEMENT_SORT_ORDER'        => $sort[1],
    'ELEMENT_SORT_ORDER2'       => 'desc',
    'DISPLAY_TOP_PAGER'         => 'N',
    'HIDE_NOT_AVAILABLE'        => 'N',
    'HIDE_NOT_AVAILABLE_OFFERS' => 'N',
    'INCLUDE_SUBSECTIONS'       => 'Y',
    'OFFERS_PROPERTY_CODE'      => ['COLOR', 'CML2_LINK'],
    'OFFERS_SORT_FIELD'         => 'sort',
    'OFFERS_SORT_FIELD2'        => 'id',
    'OFFERS_SORT_ORDER'         => 'asc',
    'OFFERS_SORT_ORDER2'        => 'desc',
    'PAGER_SHOW_ALL'            => 'N',
    'PAGER_SHOW_ALWAYS'         => 'N',
    'PRICE_CODE'                => ['BASE'],
    'SHOW_404'                  => 'N',
    'SHOW_ALL_WO_SECTION'       => 'N',
    'SHOW_CLOSE_POPUP'          => 'N',
    'SHOW_DISCOUNT_PERCENT'     => 'Y',
    'SHOW_FROM_SECTION'         => 'N',
    'SHOW_MAX_QUANTITY'         => 'N',
    'SHOW_OLD_PRICE'            => 'N',
    'SHOW_PRICE_COUNT'          => '1',
    'SHOW_SLIDER'               => 'N',
    'GROUP_BY'                  => $request->getPost('group_by'),
];
  • Вопрос задан
  • 30 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы