在哪里可以看到sitecore预定义事件处理程序的源代码(例如,项目已删除事件处理程序,OnPublishEnd等)。我想改变它们。
答案 0 :(得分:6)
例如,当您从Sitecore界面删除项目时,您有下一个事件:
<event name="item:deleted">
<handler type="Sitecore.Links.ItemEventHandler, Sitecore.Kernel" method="OnItemDeleted" />
<handler type="Sitecore.Tasks.ItemEventHandler, Sitecore.Kernel" method="OnItemDeleted" />
<handler type="Sitecore.Globalization.ItemEventHandler, Sitecore.Kernel" method="OnItemDeleted" />
<handler type="Sitecore.Data.Fields.ItemEventHandler, Sitecore.Kernel" method="OnItemDeleted" />
<handler type="Sitecore.Rules.ItemEventHandler, Sitecore.Kernel" method="OnItemDeleted" />
</event>
您可以使用Reflector或Dot Peek反编译Sitecore.Kernel.dll并深入查看代码。
对于“publish:end”,您有下一个代码
<event name="publish:end">
<handler type="Sitecore.Publishing.HtmlCacheClearer, Sitecore.Kernel" method="ClearCache>
<sites hint="list">
<site>website</site>
</sites>
</handler>
</event>
此行显示在web.config文件中。我建议你使用补丁,为自定义事件创建新的配置文件。如何使用配置文件的良好开端是this article。
如果您在事件“item:deleted”下为配置文件创建了一个已删除项目的类和方法,您将拥有:
<handler type="YourNamespace.YourClassName, YourAssembly" method="YourMethodName" />
有关使用事件的信息以及如何找到here。