Как зациклить "множественную строку" из объекта ProductBO в ISML-шаблоне?
Как я могу зациклить несколько строк из объекта ProductBO? Каков наилучший способ сделать это?
1 ответ
Если вы знаете имя атрибута, вы можете использовать следующий метод для ProductBO
изнутри ISML:
public AttributeValue getAttributeValue(String aName);
Приложение для магазина поставляется с удобным, но не очень гибким модулем, способным отображать AV-коды. Это работает для нескольких атрибутов тоже. Наименование модуля ISCustomAttribute
,
Пример использования:
<isCustomAttribute
attributelabel="#AttributeDescriptor:DisplayName#"
attributevalue="#ProductBO:AttributeValue(AttributeDescriptor:ID)#"
attributeseparator=", ">
Лучше всего будет, если вы используете этот модуль. Вы можете увидеть это в действии. изготовленный на заказ ProductBO
атрибуты печатаются на странице сведений о продукте в витрине, как показано на следующем изображении (@see DetailsTab.isml
):
Если это не подходит, вам придется извлекать атрибуты как нечто итеративное. Я считаю, что лучше всего подходит расширение BO BusinessObjectAttributes
, Вы сможете получить BusinessObjectAttribute
по имени из него и перебрать его значение.
<isloop iterator="BusinessObjectAttribute:Value" alias="AValue" counter="counter">
<!--- Do something gorgeous here --->
</isloop>