gpt4 book ai didi

tridion - 创建新的 PublisherException 时如何获取 Tridion LocalizedMessage 的资源名称?

转载 作者:行者123 更新时间:2023-12-02 17:19:11 27 4
gpt4 key购买 nike

当存在特定条件时,我需要停止发布页面,例如,如果使用事件系统页面名称包含“one”。另外,其他页面应该继续发布。

我正在考虑使用 PublisherException 而不是通用异常。

问题是我不知道 LocalizedMessage 的资源名称。有什么想法吗?

if (item.Title.ToString().Contains("one"))
{
Localization.LocalizableMessage errResource = new Localization.LocalizableMessage("error");
throw new PublisherException(errResource, new Exception("Can't get there from here!"));
}

最佳答案

事件系统可以停止发布,但是没有中间地带,当您抛出异常时,它会停止整个事务。

就像 Puntero 提到的那样,如果您想从发布事务中删除项目,那就是 Custom Resolver进来。从这里您无法与发布事务通信,但您可以访问 Tridion Logger(事件日志):

Tridion.Logging.Logger.Write("your message string", "MyResolver", LoggingCategory.General, TraceEventType.Information);

对于事件系统中的 LocalizedMessage,您应该能够执行以下操作:

throw new PublisherException(new LocalizableMessage(Properties.Resources.ResourceManager, "PagePublishErrorMessage"));

其中,resourceName 指向您项目中的字符串资源的名称。

关于tridion - 创建新的 PublisherException 时如何获取 Tridion LocalizedMessage 的资源名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13604213/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com