更改sitecore中页面的位置

时间:2013-05-20 13:51:19

标签: .net sitecore


我想在sitecore更改时更改页面的位置。我使用事件OnItemSaved。我有一个问题。如何从此页面(Article_Date)获取字段并更改页面位置。
我有这样的页面:

  • 2012
    • 2012年的文章
  • 2013

如果我将文章的日期更改为2013,我希望在类别2013

中看到此页面

1 个答案:

答案 0 :(得分:3)

您应该使用MoveTo()方法:

protected void OnItemSaved(object sender, EventArgs args)
{
    if (args == null)
        return;

    Item pageToMove = Event.ExtractParameter(args, 0) as Item;

    Item item2013 = pageToMove.Database.GetItem("/sitecore/content/...PathTo2013");

    pageToMove.MoveTo(item2013);      
}

假设你有结构

- 2012
    - Article 1
    - Article 2
    - Article 3
    -  ...
- 2013
    - Article m
    - Article n

移动代码可能如下所示:

protected void OnItemSaved(object sender, EventArgs args)
{
    if (args == null)
        return;

    Item pageToMove = Event.ExtractParameter(args, 0) as Item;

    Item item2013 = pageToMove.Database.GetItem(pageToMove.Parent.Parent.Paths.FullPath+ "/" + DateTime.Now.Year);

    pageToMove.MoveTo(item2013);      
}