заданы как элементы инфоблока.
при выводе на странице получается что картинка цвета выводится из анонса элемента цвета.
может быть есть какой-то способ чтобы бралась картинка не из анонса, а из свойства элемента цвета?
В документации по гетлисту есть информация, как получить свойства связанных элементов. https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php
спасибо, но это не то)
Если у тебя в инфоблоке торговых предложений есть свойство цвет, которое имеет тип "ссылка на элемент инфоблока", а у того элемента, на который она ссылается есть какое-то свойство, которое ты хочешь выводить в шаблон, то это как раз то) Вроде даже в настройках каталога есть пункт типа " Свойства связанных элементов ". Там можно руками, через точку прописать что выводить. Но в последнем случае не факт, что выведется или выведется там где надо.
Три инфоблока: 1-каталог 2-торговые 3-цвета (у него есть свойство Файл MINI_COLOR_PIC, где хранится нужная мне картинка) В торговых есть свойство Цвет, которые привязано к иблоку Цвета. Все выводится как на скрине и работает корректно. Но, картинка цвета (1) берется из превью элемента иблока Цвета. Я хотел изменить чтобы картинка цвета бралась бы из MINI_COLOR_PIC элемента Цвет, а не из PREVIEW_PICTURE Но как я понял это невозможно, т.к. в ядре жестко прописано что для типа привязка к элементу брать из превью (в CIBlockPriceTools\getTreePropertyValues)
Если вы внимательно почитаете упомянутую документацию, там речь о ПОЛЯХ связанных элементов, а не свойствах.
Для публички можете написать сами, для админки нет.
PROPERTY_<PROPERTY_CODE>.<FIELD> Да, затупил, спасибо) Почему-то был уверен, что и свойства так можно вытащить.
Учитывая вышесказанное, в result_modifier шаблона детальной страницы товара можно через CIBlockElement::GetProperty с фильтром по id связанного элемента, и коду MINI_COLOR_PIC. И свойство же типа файл? Тогда по его id можно получить детальную инфу для вывода в шаблоне через CFile::GetFileArray
Берете айди привязанного элемента и через ciblockelement getlist получаете все его свойства, у вас же наверное свойство множественное. А файл да, через getfilearray
почти так и сделал, только у меня эта задача возникла в списке элементов. дополнительно получать ID элементов Цвет не нужно, т.к. они уже есть в дефолте $arResult['SKU_PROPS'] а дальше дернул необходимые свойства, и заменил + дополнил сам $arResult['SKU_PROPS'] (в начальном описании не указывал это, есть еще свойство отвечающее за вывод рамочки если цвет "слишком" светлый), получилось как-то вот так (скрин). не знаю насколько это правильно, но в целом применимо даже для дефолтного шаблона из коробки, не надо будет лезть править шаблон.
Обсуждают сегодня