如何在sitecore中确定给定项目是否为开始项目?

Dzi*_*mau 2 sitecore sitecore6 sitecore7

在配置文件中,我们为元素中的每个网站设置了开始项目(例如,startItem ="/ Home").我们也可以在代码中选择开始项目.但我要问的是如何确定任何选定的项目是否是开始项目?

至少我们可以选择开始项目并与给定项目进行比较,但我认为这不是优雅的代码

Der*_*art 5

我们通常在SiteContext类上有一个扩展方法来获取Home Item:

public static class SiteExtensions
{
    public static Item GetHomeItem(this SiteContext site)
    {
        return Sitecore.Context.Database.GetItem(site.StartPath);
    }
}
Run Code Online (Sandbox Code Playgroud)

有了这个,你可以测试任何项目(不仅仅是Context项目),看看它是否是主页项目.

Item home = Sitecore.Context.Site.GetHomeItem();

if (Sitecore.Context.Item.ID == home.ID) 
{
    // Context item is the home item
}
Run Code Online (Sandbox Code Playgroud)