我知道我可以使用'var top = Node.GetCurrent();'获取当前节点但我似乎无法找到我可以获得相关属性的地方,特别是'umbracoNaviHide'。我想知道如何在用户控件中访问可从XSLT访问的相同数据
答案 0 :(得分:1)
要获取属性,您需要使用GetProperty()方法。
var top = Node.GetCurrent(); 。top.GetProperty( “umbracoNaviHide”)值;
答案 1 :(得分:0)
在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;
}
以上代码将确保将umbrachoNaviHide复选框属性设置为true的那些页面不会包含在导航列表中。
要了解如何制作自定义属性:umbracoNaviHide,请在youtube上搜索“ Day11:在Umbraco中隐藏导航页面”