umbraco-用户控件-umbracoNaviHide

umbraco-用户控件-umbracoNaviHide,umbraco,Umbraco,我知道我可以使用“var top=node.GetCurrent();”获取当前节点但我似乎找不到哪里可以获得相关属性,特别是“umbracoNaviHide”。我想知道如何访问用户控件中可从XSLT访问的相同数据,以获取使用GetProperty()方法所需的属性 var top=Node.GetCurrent(); top.GetProperty(“umbracoNaviHide”).Value 要获取属性,需要使用GetProperty()方法 var top=Node.GetCurren

我知道我可以使用“var top=node.GetCurrent();”获取当前节点但我似乎找不到哪里可以获得相关属性,特别是“umbracoNaviHide”。我想知道如何访问用户控件中可从XSLT访问的相同数据,以获取使用GetProperty()方法所需的属性

var top=Node.GetCurrent();
top.GetProperty(“umbracoNaviHide”).Value

要获取属性,需要使用GetProperty()方法

var top=Node.GetCurrent();
top.GetProperty(“umbracoNaviHide”).Value

在Umbraco 8中,您必须执行以下操作:

    private List<NavigationListItem> GetChildNavigationList(IPublishedContent page)
    {
        List<NavigationListItem> listItems = null;
        var childPages = page.Children.Where(i => i.IsPublished());

        if (childPages != null && childPages.Any() && childPages.Count() > 0)
        {
            listItems = new List<NavigationListItem>();
            foreach (var childPage in childPages)
            {
                int myTrueFalseFieldValue = 1;
                if (childPage.HasProperty("umbracoNaviHide"))
                {
                    Int32.TryParse(childPage.GetProperty("umbracoNaviHide").GetValue().ToString(), out myTrueFalseFieldValue);
                    //myTrueFalseFieldValue = 0 // hide the page
                    //myTrueFalseFieldValue = 1 // don't hide the page
                    string name = childPage.Name;
                    int test = myTrueFalseFieldValue;
                }

                if (myTrueFalseFieldValue == 1)
                {
                    NavigationListItem listItem = new NavigationListItem(new NavigationLink(childPage.Url, childPage.Name));
                    listItem.Items = GetChildNavigationList(childPage);
                    listItems.Add(listItem);
                }
            }
        }
        return listItems;
    }
私有列表GetChildNavigationList(IPPublishedContent页)
{
列表项=空;
var childPages=page.Children.Where(i=>i.IsPublished());
if(childPages!=null&&childPages.Any()&&childPages.Count()>0)
{
listItems=新列表();
foreach(childPages中的var childPages)
{
int myTrueFalseFieldValue=1;
if(childPage.HasProperty(“umbracanavihide”))
{
Int32.TryParse(childPage.GetProperty(“umbracanaviHide”).GetValue().ToString(),out myTrueFalseFieldValue);
//myTrueFalseFieldValue=0//隐藏页面
//myTrueFalseFieldValue=1//不要隐藏页面
字符串名称=childPage.name;
int test=myTrueFalseFieldValue;
}
如果(myTrueFalseFieldValue==1)
{
NavigationListItem listItem=new NavigationListItem(new NavigationLink(childPage.Url,childPage.Name));
listItem.Items=GetChildNavigationList(childPage);
添加(listItem);
}
}
}
返回列表项;
}
上面的代码将确保那些在此处将umbrachoNaviHide checkbox属性设置为true的页面不会包含在导航列表中


要查看如何创建自定义属性:umbracoNaviHide,请在youtube上搜索“第11天:在Umbraco中隐藏导航页面”

在Umbraco 8中,您必须执行以下操作:

    private List<NavigationListItem> GetChildNavigationList(IPublishedContent page)
    {
        List<NavigationListItem> listItems = null;
        var childPages = page.Children.Where(i => i.IsPublished());

        if (childPages != null && childPages.Any() && childPages.Count() > 0)
        {
            listItems = new List<NavigationListItem>();
            foreach (var childPage in childPages)
            {
                int myTrueFalseFieldValue = 1;
                if (childPage.HasProperty("umbracoNaviHide"))
                {
                    Int32.TryParse(childPage.GetProperty("umbracoNaviHide").GetValue().ToString(), out myTrueFalseFieldValue);
                    //myTrueFalseFieldValue = 0 // hide the page
                    //myTrueFalseFieldValue = 1 // don't hide the page
                    string name = childPage.Name;
                    int test = myTrueFalseFieldValue;
                }

                if (myTrueFalseFieldValue == 1)
                {
                    NavigationListItem listItem = new NavigationListItem(new NavigationLink(childPage.Url, childPage.Name));
                    listItem.Items = GetChildNavigationList(childPage);
                    listItems.Add(listItem);
                }
            }
        }
        return listItems;
    }
私有列表GetChildNavigationList(IPPublishedContent页)
{
列表项=空;
var childPages=page.Children.Where(i=>i.IsPublished());
if(childPages!=null&&childPages.Any()&&childPages.Count()>0)
{
listItems=新列表();
foreach(childPages中的var childPages)
{
int myTrueFalseFieldValue=1;
if(childPage.HasProperty(“umbracanavihide”))
{
Int32.TryParse(childPage.GetProperty(“umbracanaviHide”).GetValue().ToString(),out myTrueFalseFieldValue);
//myTrueFalseFieldValue=0//隐藏页面
//myTrueFalseFieldValue=1//不要隐藏页面
字符串名称=childPage.name;
int test=myTrueFalseFieldValue;
}
如果(myTrueFalseFieldValue==1)
{
NavigationListItem listItem=new NavigationListItem(new NavigationLink(childPage.Url,childPage.Name));
listItem.Items=GetChildNavigationList(childPage);
添加(listItem);
}
}
}
返回列表项;
}
上面的代码将确保那些在此处将umbrachoNaviHide checkbox属性设置为true的页面不会包含在导航列表中


为了了解如何创建自定义属性:umbracoNaviHide,请在youtube上搜索“第11天:在Umbraco中从导航中隐藏页面”

谢谢,我已经弄明白了很多…我(出于某种原因)认为这是一个默认属性。添加后,GetProperty按预期返回它。谢谢,我已经弄清楚了…我(出于某种原因)认为它是一个默认属性。添加后,GetProperty按预期返回它。