如何覆盖sitecore中的sitecore.context.database.getitem(字符串路径)

时间:2017-03-10 03:34:51

标签: sitecore sitecore8

我想为任何语言提取 en 语言的项目。每当我致电Sitecore.Context.Database.GetItem(ID)时,即使上下文语言是 fr-fr ,也应该使用 en 语言提取该项目。

我正在尝试使用后备语言选项,但根据要求,后备语言可能不是 en ,它可以根据需要进行更改。有没有办法我可以写一个管道来覆盖这个功能。

我不想使用语言回退,因为目标语言可以是任何语言。

1 个答案:

答案 0 :(得分:0)

GetItem方法有一个重载方法如下:

Sitecore.Context.Database.GetItem(sitecoreIdhere, language here);

因此,您可以使用此重载方法并将语言en作为参数传递,如下所示:

Sitecore.Context.Database.GetItem(ID, Language.Parse("en"));

或者

Sitecore.Context.Database.GetItem("ItemPathHere", Language.Parse("en"));

<强>更新

无法覆盖方法GetItem,因为没有具有命名空间Sitecore.Data的管道或处理器