208 похожих чатов

Всем привет. такой вопрос: есть товары с торговыми. у торговых цвета

заданы как элементы инфоблока.
при выводе на странице получается что картинка цвета выводится из анонса элемента цвета.
может быть есть какой-то способ чтобы бралась картинка не из анонса, а из свойства элемента цвета?

10 ответов

19 просмотров

В документации по гетлисту есть информация, как получить свойства связанных элементов. https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php

Max V
спасибо, но это не то)

Если у тебя в инфоблоке торговых предложений есть свойство цвет, которое имеет тип "ссылка на элемент инфоблока", а у того элемента, на который она ссылается есть какое-то свойство, которое ты хочешь выводить в шаблон, то это как раз то) Вроде даже в настройках каталога есть пункт типа " Свойства связанных элементов ". Там можно руками, через точку прописать что выводить. Но в последнем случае не факт, что выведется или выведется там где надо.

Max-V Автор вопроса
Alexey Nazarov
Если у тебя в инфоблоке торговых предложений есть ...

Три инфоблока: 1-каталог 2-торговые 3-цвета (у него есть свойство Файл MINI_COLOR_PIC, где хранится нужная мне картинка) В торговых есть свойство Цвет, которые привязано к иблоку Цвета. Все выводится как на скрине и работает корректно. Но, картинка цвета (1) берется из превью элемента иблока Цвета. Я хотел изменить чтобы картинка цвета бралась бы из MINI_COLOR_PIC элемента Цвет, а не из PREVIEW_PICTURE Но как я понял это невозможно, т.к. в ядре жестко прописано что для типа привязка к элементу брать из превью (в CIBlockPriceTools\getTreePropertyValues)

Alexey Nazarov
В документации по гетлисту есть информация, как по...

Если вы внимательно почитаете упомянутую документацию, там речь о ПОЛЯХ связанных элементов, а не свойствах.

Max V
screenshot Три инфоблока: 1-каталог 2-торговые 3-цвета (у нег...

Для публички можете написать сами, для админки нет.

Eugene Zhukov
Если вы внимательно почитаете упомянутую документа...

PROPERTY_<PROPERTY_CODE>.<FIELD> Да, затупил, спасибо) Почему-то был уверен, что и свойства так можно вытащить.

Max V
screenshot Три инфоблока: 1-каталог 2-торговые 3-цвета (у нег...

Учитывая вышесказанное, в result_modifier шаблона детальной страницы товара можно через CIBlockElement::GetProperty с фильтром по id связанного элемента, и коду MINI_COLOR_PIC. И свойство же типа файл? Тогда по его id можно получить детальную инфу для вывода в шаблоне через CFile::GetFileArray

Alexey Nazarov
Учитывая вышесказанное, в result_modifier шаблона ...

Берете айди привязанного элемента и через ciblockelement getlist получаете все его свойства, у вас же наверное свойство множественное. А файл да, через getfilearray

Max-V Автор вопроса
Alexey Nazarov
Учитывая вышесказанное, в result_modifier шаблона ...

почти так и сделал, только у меня эта задача возникла в списке элементов. дополнительно получать ID элементов Цвет не нужно, т.к. они уже есть в дефолте $arResult['SKU_PROPS'] а дальше дернул необходимые свойства, и заменил + дополнил сам $arResult['SKU_PROPS'] (в начальном описании не указывал это, есть еще свойство отвечающее за вывод рамочки если цвет "слишком" светлый), получилось как-то вот так (скрин). не знаю насколько это правильно, но в целом применимо даже для дефолтного шаблона из коробки, не надо будет лезть править шаблон.

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

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
10
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
Карта сайта