Sitecore saveUI处理器移动后重定向到项目页面

时间:2014-06-05 16:27:49

标签: sitecore sitecore7

我已经实施了Sitecore saveUI处理器,用于将新闻项目移动到年/月层次结构中的特定位置。它做得很好,除了在页面编辑器中使用(导航到项目的页面,然后尝试保存,并隐式移动项目)这一事实我被重定向到我们的404页面,因为Sitecore期望原始项目的手术后网址仍然有效。
有没有办法告诉Sitecore该项目已被移动?我正在考虑SaveArgs中的某些属性,但任何解决方案都可以,只要它有点可维护(例如,我更喜欢服务器端解决方案,而不是基于客户端的JavaScript,如果可能的话)。

2 个答案:

答案 0 :(得分:1)

在我的脑海中,确保您的处理器是管道中的最后一个,并将以下代码添加到流程方法的末尾:

if(Sitecore.Context.PageMode.IsPageEditor)
{
    var item = args.SavedItems.First() // or perhaps Context.Item;
    var url = LinkManager.GetItemUrl(item);
    HttpContext.Current.Response.Redirect(url);
}

答案 1 :(得分:0)

您是否尝试过使用Sitecore Newsmover Module? 这可以无缝地工作,可以是去而不是创建自定义移动器的方​​式。我们已经使用了很多次,它似乎在所有条件下都能很好地工作。

此示例配置:

    <template id="User Defined/News Article" sort="Descending">
      <DateField>Posted Date</DateField>
      <YearTemplate formatString="yyyy">User Defined/Folders/Article Year Folder</YearTemplate>
      <MonthTemplate formatString="MMMM">User Defined/Folders/Article Month Folder</MonthTemplate>
    </template>