1

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

4

1 回答 1

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 并深入查看代码。

对于“发布:结束”,您有下一个代码

 <event name="publish:end">
    <handler type="Sitecore.Publishing.HtmlCacheClearer, Sitecore.Kernel" method="ClearCache>
      <sites hint="list">
        <site>website</site>
      </sites>
    </handler>
  </event>

此行出现在 web.config 文件中。我建议你使用补丁,为自定义事件创建新的配置文件。这篇文章是如何使用配置文件的一个很好的开始。

如果您在事件“item:deleted”下的配置文件中为删除的项目创建了一个类和方法,例如,您将拥有:

<handler type="YourNamespace.YourClassName, YourAssembly" method="YourMethodName" /> 

有关使用事件以及如何在此处找到的信息。

于 2013-07-16T04:04:54.077 回答