2


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

  • 2012
    • 2012年的文章
  • 2013

如果我将文章日期更改为 2013 年,我想在类别中查看此页面2013

4

1 回答 1

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);      
}
于 2013-05-20T13:54:25.553 回答