在我的Sitecore的6.1.0安装我已经挂在几个孤儿项目“添加项目”:Sitecore的增加每当一个项目添加
<event name="item:added">
<handler type="Sitecore.Data.Fields.ItemEventHandler, Sitecore.Kernel" method="OnItemAdded" />
<handler type="my.project.Classes.OnSaveItemHandler, my.project" method="OnItemAdded" />
</event>
这样做的目的是强制唯一名称的项目 - 换句话说,在我OnItemAdded方法我想任何其他项目具有相同的名称做了Lucene搜索作为要添加的项目。
每次在Sitecore结构中添加项目时,都会调用OnItemAdded方法。但我的问题是 - 该方法被称为不止一次每个项目。我已经看到它调用的每个添加项目的时间在6到26次之间,具体取决于Sitecore结构添加项目的位置。我OnItemAdded法的主体是空的:
protected void OnItemAdded(object obj, EventArgs args)
{
}
第一次当加入一个项目的方法被调用,在args
参数的项目是正确的项目。如果该项目的名称为theItemName
,在FULLPATH属性将是这样的:
/sitecore/content/theItemName
不同的是第一个,每次,该项目看起来正确的,但该项目的路径是这样的:
[orphan]/sitecore/content/theItemName
为什么[orphan]位被添加到完整路径上?为什么OnItemAdded方法被多次调用,即使我只添加一个项目?
这是bizzare。也许用support.sitecore.net创建一张票。 – marto 2011-05-26 16:22:50