@malayamarisha

Каким образом в карточке товара вывести товары с одинаковым значением свойства?

Доброго времени суток!
Необходимо в карточке товара вывести только те товары, у которых значение свойства совпадает со значением свойства самого товара. Подскажите, пожалуйста.
Пример:
1) есть товар "Товар1", свойство "Коллекция", тип свойства "Справочник". Значение свойства "Коллекция" = "Тестовая коллекция"
2) есть товар "Товар2", свойство "Коллекция", тип свойства "Справочник". Значение свойства "Коллекция" = "Тестовая коллекция"
3) есть товар "Товар3", свойство "Коллекция", тип свойства "Справочник". Значение свойства "Коллекция" = "Тестовая коллекция"
Необходимо в карточке товара "Товар1" вывести товары "Товар2", "Товар3"

В карточке товара делаю выборку по свойству, но массив пустой
$arSelect = Array("ID", "IBLOCK_ID", "NAME","PROPERTY_*");
$arFilter = Array("IBLOCK_ID"=>$arParams['IBLOCK_ID'], "ACTIVE"=>"Y", "PROPERTY_KOLLEKTSIYA"=>$arResult['DISPLAY_PROPERTIES']['KOLLEKTSIYA']['DISPLAY_VALUE']);
$res = CIBlockElement::GetList(Array("SORT"=>"ASC"), $arFilter, false, false, Array());
while($ar_fields = $res->Fetch())
{
	echo "<pre>" .print_r($arFields,1)."</pre>";
}
  • Вопрос задан
  • 193 просмотра
Пригласить эксперта
Ответы на вопрос 1
smilingcheater
@smilingcheater
Если вы хотите фильтровать именно по текстовому значению списка - вам надо использовать в фильтре 'PROPERTY_KOLLEKTSIYA_VALUE' => ...

Но это будет не оптимально по скорости выполнения запроса.

Лучше использовать поиск по ID значения в списке. Посмотрите в массиве $arResult['DISPLAY_PROPERTIES']['KOLLEKTSIYA'] в каком именно свойстве хранится ID элемента списка, я к сожалению не помню какой именно ключ надо использовать.
Ответ написан
Ваш ответ на вопрос

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

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