Для извлечения свойства элемента товарного предложения в шаблоне catalog.element
вам потребуется использовать язык шаблонов 1C-Bitrix, а именно конструкцию #FIELD_NAME#.PROPERTY_CODE#.VALUE#
, где FIELD_NAME
- это название поля, через которое связаны товар и его предложения, и PROPERTY_CODE
- код свойства элемента товарного предложения, которое вам необходимо извлечь.
Прежде всего, вам понадобится получить ID элемента товарного предложения. Вы можете сделать это, используя функцию CIBlockElement::GetByID
, которая вернет объект с данными элемента товарного предложения. Например:
$offerId = // ID элемента товарного предложения $offer = CIBlockElement::GetByID($offerId)->Fetch();
Затем вы сможете получить свойства выбранного элемента товарного предложения, применив функцию CIBlockElement::GetProperty
, которая вернет значение свойства. Например, если необходимо получить значение свойства с кодом PROPERTY_SIZE
, вам потребуется написать следующий код:
$propertyCode = 'PROPERTY_SIZE'; $propertyValue = ''; $propertyIterator = CIBlockElement::GetProperty( $offer['IBLOCK_ID'], // ID информационного блока $offerId, // ID элемента товарного предложения [], // Фильтрация свойств (можно задать дополнительные параметры) ['CODE' => $propertyCode] // Код свойства ); while ($property = $propertyIterator->Fetch()) { if ($property['CODE'] === $propertyCode) { $propertyValue = $property['VALUE']; break; } }
Теперь у вас есть значение свойства элемента товарного предложения, которое можно использовать в шаблоне catalog.element
следующим образом:
<div><?= $propertyValue ?></div>
Заметьте, что в приведенном выше примере мы предполагаем, что у вас уже есть ID элемента товарного предложения ($offerId
). Если у вас нет ID элемента, вам придется определить его самостоятельно, в зависимости от логики вашего проекта.