@black_xe

Как сделать своё свойство в торговом предложении карточки товара?

Ковыряю стандартное решение - интернет магазин, редакции малый бизнес, в карточки товара залип.
Хочу сделать вот такой аналог фильтра по торговому предложению
5f4170e354545952565809.png

Первое выделение это стандартные , я добавил "Предложение - OFFERS"
5f4170f9aeb47753864070.png
в вызове компонента "bitrix:catalog" напихал это свойство всюду где вызываются типовые свойства

на скрине ниже, место вызова этих "фильтров"
второй скрин - параметры вызова компонента bitrix:catalog.element
3 скрин - парметры вызова главного компонента - catalog
5f417140b572d123975302.png
5f4171492b324550378737.png
5f41714ea8020140315185.png
И вот это
"DETAIL_PRODUCT_INFO_BLOCK_ORDER" => "sku,props",
меня убивает, не понимаю что с этим делать, и как свои фильтры добавить

(* и прошу, не пишите по поводу того что я выставляю код скринами, здесь нужно акцентировать внимание на визуальном контакте чтобы было понятно о чем я говорю)
  • Вопрос задан
  • 1084 просмотра
Решения вопроса 1
@PetrPo
в файле result_modifier.php своего шаблона компонента catalog.element после метода
$arParams = $component->applyTemplateModifications();


добавить
if($arResult['OFFERS']) {
	$colorPropertyCode = 'COLOR_REF';
	
	foreach($arResult['OFFERS'] as $key => $offer) {
		$colors = $arResult['SKU_PROPS'][$colorPropertyCode]['VALUES'];
		$offerColorXmlId = $offer['PROPERTIES'][$colorPropertyCode]['VALUE'];
		$offerColorImage = [];
		
		foreach($colors as $color) {
			if($color['XML_ID'] == $offerColorXmlId) {
				if(is_array($color['PICT']) && $color['PICT']['SRC']) {
					$offerColorImage = $color['PICT'];
				}
				break;
			}
		}

		if($offerColorImage) {
			++$arResult['OFFERS'][$key]['MORE_PHOTO_COUNT'];
			array_unshift($arResult['OFFERS'][$key]['MORE_PHOTO'], $offerColorImage);
			
			++$arResult['JS_OFFERS'][$key]['SLIDER_COUNT'];
			array_unshift($arResult['JS_OFFERS'][$key]['SLIDER'], $offerColorImage);
		}
	}
}


Только вот эту строку измени $colorPropertyCode = 'COLOR_REF'; COLOR_REF - символьный код свойства цвет инфоблока торговых предложений
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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