有一个恼人的问题。
当用户在项目上编辑字段时,我们使用OnSavingItem事件处理程序在后台的其他位置创建一些新项目。
问题是用户编辑的项目被重定向到我们在后台创建的隐藏项目。
我们希望它能留在原地...任何想法?
感谢
答案 0 :(得分:3)
如果您要禁用转移到刚刚创建的项目,您还可以考虑实施以下代码:
// Before we copy the item we put notifications on to make sure we won't be transfered to the newly created item
Sitecore.Client.Site.Notifications.Disabled = true;
// Your action comes here
Sitecore.Client.Site.Notifications.Disabled = false;
答案 1 :(得分:0)
您使用的是
吗?<event name="item:saved">
处理程序?如果是这样,请不要忘记在您创建的所有新项目上都会触发此事件,这可能会触发递归事件循环。
答案 2 :(得分:0)
这个答案来自SiteCore论坛......信誉归John West
我认为你可以使用item:save event或saveUI管道。如果您需要处理通过API发生的更改,请使用该事件;如果您只需要处理通过用户界面发生的更改,请使用管道。
您还可以考虑将逻辑添加到字段本身。
John West Sitecore博客
答案 3 :(得分:0)
item:saved比saveUI管道中的处理器重得多。例如,项目:已保存在发布期间触发,这不是您真正想要的。我总是建议在管道或工作流操作级别上处理此类自定义。