Расширить класс de.hybris.platform.acceleratorstorefrontcommons.controllers.util.GlobalMessage
, как это:
class StylableGlobalMessage extends GlobalMessage {
private cssClass;
setCssClass...
getCssClass...
}
Создайте новый метод, чтобы добавить это сообщение в модель. Аналог к
de.hybris.platform.acceleratorstorefrontcommons.controllers.util.GlobalMessages#addMessage
final StylableGlobalMessage message = new StylableGlobalMessage();
message.setCode(messageKey);
message.setAttributes(attributes != null ? Arrays.asList(attributes) : Collections.emptyList());
message.setCssClass(cssClass);
List<GlobalMessage> currentMessages = (List<GlobalMessage>) model.getModelMap().get(messageHolder);
// Check if null etc.
currentMessages.add(message);
Введите новый атрибут в файл /mystorefront/web/webroot/WEB-INF/tags/desktop/common/globalMessages.tag
следующим образом:
<div class="alert neutral ${msg.cssClass}">
<spring:theme code="${msg.code}" arguments="${msg.attributes}"/>
</div>
Не забудьте проверить тип сообщения перед доступом к атрибуту cssClass. Или вы заменяете каждое GlobalMessage на StylableGlobalMessage. Тогда вы можете опустить проверку.