Есть свойство товара "цвет" у которого тип "справочник". В карточке товара выводится только текст этого свойства, а нужно картинка + цвет
На просторах интернета нашел вот такой код(поделенный на 3 части), а куда его вставлять не нашел, в 1с битрикс плохо разбираюсь
Код:
<?
foreach($arElement["OFFERS"] as $arOffer):
foreach($arOffer["DISPLAY_PROPERTIES"] as $pid=>$arProperty):
$color .= '\''.$arProperty["DISPLAY_VALUE"].'\',';
break;endforeach;
endforeach;
?>
Код:
<?
eval('$fofilter=array('.$color.');');
extract($fofilter);
?>
Код:
<?
if (!CModule::IncludeModule('highloadblock')) //ПОДКЛЮЧАЕМ МОДУЛЬ
continue;
$ID = 3; //СЮДА ID ВАШЕГО HL ИНФОБЛОКА
$hldata = Bitrix\Highloadblock\HighloadBlockTable::getById($ID)->fetch();
$hlentity = Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hldata);
$hlDataClass = $hldata['NAME'].'Table';
//СОЗДАЕМ МАССИВ ФИЛЬТРА, В НЕМ УКАЗЫВАЕМ ЛОГИКУ ОТБОРА И (обязательно, иначе будет ИЛИ и отфильтрует только один цвет)
$arFilter = Array(
Array(
"LOGIC"=>"AND",
Array(
"UF_NAME"=> $fofilter //НАШ МАССИВ С ЦВЕТАМИ
)
)
);
$result = $hlDataClass::getList(array(
'select' => array('UF_FILE','UF_NAME'), //НАМ НУЖНЫ ТОЛЬКО НАЗВАНИЕ И КАРТИНКА
'order' => array('UF_NAME' =>'ASC'),
'filter' => $arFilter //ПРИМЕНЯМ СОЗДАННЫЙ ВЫШЕ ФИЛЬТР
));
while($res = $result->fetch())
{
$img_path = CFile::GetPath($res["UF_FILE"]); //ПОЛУЧАЕМ ПУСТЬ К КАРТИНКЕ
echo '< img src="'.$img_path.'"/>'; //ВЫВОДИМ КАРТИНКУ
}
?>
m4son дорогой пользователь, настоятельно рекомендуем еще раз обратить самое пристальное внимание на п. 3.1 регламента работы сервиса (и, в особенности, на его последний абзац). В противном случае, ваши вопросы будут удаляться по причине тег-спама, а систематические нарушения приведут к блокировке учетной записи.