Очередная небольшая заметка на тему вывода свойства определенного типа в CMS Битрикс. В прошлый раз была заметка о свойстве типа «Файл», в этот раз очередь дошла до вывода множественного свойства.
Множественное свойство используется в инфоблоке каталога интернет-магазина для добавления к карточке товара аксессуаров, сопутствующих товаров и прочих аналогичных блоков. Также встречается вариант привязки «акционных» товаров к определенной новости в инфоблоке «новостей». Сложно ли вывести подобное свойство? Как будет видно из нижеизложенного текста — это совсем просто. Весь процесс занимает пару простых шагов:
А) Создание свойства и установка значений
Б) Вывод свойства в необходимом шаблоне
Создание свойства и установка значений
Множественное свойство, как и любое другое в Битриксе заводится в разделе «свойства» в соответствующем инфоблоке. В качестве примера укажем тип свойства «Привязка к элементам» и отметим, что это свойство «множественное»:
Далее привяжем несколько товаров к определенной карточке (с этим не должно возникнуть сложностей, делается это при редактировании карточки). И переходим к следующему шагу.
Вывод свойства в необходимом шаблоне
В рамках данного примера мы выводим множественное свойство на карточке товара (т.е. в bitrix.catalog.element). Стоит заметить, что эти «аналогичные товары» в данном примере уже выводятся на карточке товара в компоненте bitrix.catalog.section (а не просто значения данного множественного свойства).
Первым делом, конечно, нужно добавить проверку, есть ли вообще данное свойство у товара. Что-нибудь такое:
<?if($arResult['PROPERTIES']['analog']['VALUE']):?>
Далее, в том случае если оно действительно есть, мы включаем значения данного свойства в фильтр, примерно так:
global $arrFilter_hleb_items; $arrFilter_hleb_items = array('ID'=>$arResult['PROPERTIES']['analog']['VALUE']);
И далее выводим содержимое компонента, где в фильтре не забываем указать вышеуказанную переменную (Весь код вызова компонента здесь, вероятно, будет излишним):
"FILTER_NAME" => "arrFilter_hleb_items",
В том случае, если нужно просто вывести значение множественного свойства (в данном случае — это ID привязанного товара):
Всё достаточно просто. Вывод осуществляется следующим образом:
<?foreach($arResult["PROPERTIES"]["analog"]["VALUE"] as $mew):?> <?print_r($mew);?> <?endforeach;?>
По завершению данного шага, цель данной заметки, очевидно, достигнута в полном объеме