notifier 是如何传递到前端并显示的?

How notifier are delivered to the front end and displayed?

我在Orchard.Notifier中添加了消息,我想自定义在首页显示这条消息,我该怎么办?

_notifier.Add(NotifyType.Error, T("An Exception has occured,error message:{0}", filterContext.Exception.Message));

负责向当前页面添加通知的服务是NotifyFilter:

var messagesZone = _workContextAccessor.GetContext(filterContext).Layout.Zones["Messages"];

这会将消息添加到名为 "Messages" 的 top-level 布局区域。因此,您所要做的就是在您的主题布局中添加一个名为 "Messages" 的区域。您可以看到 TheAdmin 主题的 Layout 视图是如何做到的 here:

@if (Model.Messages != null) {
<div id="messages">
    @Zone(Model.Messages)
</div>
}