Вывод свойства инфоблока из свойства другого инфоблока

By | 22/03/2013

Иногда бывает часто стоит следующая задача:
Есть инфоблок №1 с товарами и у этого инфоблока есть дополнительное свойство, к примеру COLOR, в параметрах которого указано “Привязка к элементам другого инфоблока”, где указан инфоблок №2. В инфоблоке №2 в качестве элементов у нас хранится название цветов и его HEX код. В качестве названия цвета используется стандартное поле, а для хранения кода HEX создано дополнительное свойство в этом инфоблоке с типом “строка”. Чтобы вывести в шаблоне свойство HEX второго инфоблока, нужно сделать примерно так:

UPDATE 18/12/2013: Описанный выше код использует устаревшие API функции и применим только в шаблоне, когда вызов нужного инфоблока прошел. Ниже предлагаю код, которые делает тоже самое, но содержит все необходимые вызовы последовательно. Инфоблок “Издания” связан с инфоблоком Авторы (множественная привязка).

PS: Возможно есть вариант проще, но на скорую руку удалось сделать только так.