Как зациклить "множественную строку" из объекта ProductBO в ISML-шаблоне?

Как я могу зациклить несколько строк из объекта ProductBO? Каков наилучший способ сделать это?

1 ответ

Если вы знаете имя атрибута, вы можете использовать следующий метод для ProductBO изнутри ISML:

public AttributeValue getAttributeValue(String aName);

Приложение для магазина поставляется с удобным, но не очень гибким модулем, способным отображать AV-коды. Это работает для нескольких атрибутов тоже. Наименование модуля ISCustomAttribute,

Пример использования:

<isCustomAttribute 
    attributelabel="#AttributeDescriptor:DisplayName#" 
    attributevalue="#ProductBO:AttributeValue(AttributeDescriptor:ID)#" 
    attributeseparator=",&nbsp;">

Лучше всего будет, если вы используете этот модуль. Вы можете увидеть это в действии. изготовленный на заказ ProductBO атрибуты печатаются на странице сведений о продукте в витрине, как показано на следующем изображении (@see DetailsTab.isml):

Если это не подходит, вам придется извлекать атрибуты как нечто итеративное. Я считаю, что лучше всего подходит расширение BO BusinessObjectAttributes, Вы сможете получить BusinessObjectAttribute по имени из него и перебрать его значение.

<isloop iterator="BusinessObjectAttribute:Value" alias="AValue" counter="counter">
    <!--- Do something gorgeous here --->
</isloop>
Другие вопросы по тегам