Sitecore - 遍历Checkbox的项目以设置根节点

时间:2017-10-27 12:54:21

标签: sitecore

我正在寻找以下Sitecore 7方案的webforms解决方案。

我有一个结构,编辑器可以在任何时候检查项目上的一个框以将其标记为根节点。这个想法是我可以检查关于我们作为根点,然后左侧菜单只显示该项目及其兄弟姐妹。

同样,我可以为网站的该区域重新定义新的Google anayltics ID

任何人都可以协助使用webform方法来检查当前项目是否可以检查已选中字段,如果不存在则会遍历,直到找到该复选框并使用该位置项目中的字段?

由于

1 个答案:

答案 0 :(得分:0)

您可以使用此代码迭代项目或其祖先,以找到带有已检查字段的项目作为根项目

public Item GetRootItem(Item item)
{
    //Check if you reached the top of your content tree, you better replace the ID with your home page item ID, and then return the home page
    if(item.ID == Sitecore.Data.ID.Parse("{11111111-1111-1111-1111-111111111111}"))
       return null;

    //Replace CheckboxFieldName with your field name
    if (item["CheckboxFieldName"] != null && item["CheckboxFieldName"] == "1")
    {
        return item;
    }
    else
    {
         return GetRootItem(item.Parent);
    }
}