sitecore事件处理程序所在的位置

时间:2013-07-16 03:22:51

标签: sitecore sitecore6

在哪里可以看到sitecore预定义事件处理程序的源代码(例如,项目已删除事件处理程序,OnPublishEnd等)。我想改变它们。

1 个答案:

答案 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