我最近的所有项目都在True/False属性中实现了umbracoNaviHide,并且它们都可以正常工作。在我的7.6.9升级项目中,我根本无法获得True/False值。umbracoNaviHide不适用于新项目
在我的主作文中,我有一个“导航”选项卡以及True/False属性。我的所有页面都通过这个组合继承。
当我做这样的事情:
var menuItems = CurrentPage.Site().Children;
@foreach(var item in menuItems) {
if(item.IsVisible()) {
<!--show element-->
}
}
它不工作。它应该像我所有最新的项目一样工作。这是我已经尝试过的:
var menuItems = CurrentPage.Site().Children.Where("Visible");
var menuItems = CurrentPage.Site().Children.Where("umbracoNaviHide == false"); //setting this to true gives me no results
var menuItems = CurrentPage.Site().Children.Where(x => x.IsVisible());
var menuItems = CurrentPage.Site().Children.Where("randomProperty == false"); //or true
foreach(var item in menuItems) {
if(!item.HasValue("umbracoNaviHide)) { <!-- show item --> }
if(item.GetPropertyValue("umbracoNaviHide")) == "false") { <!-- show item --> }
}
我认为就是这样。我更新了我的ModelsBuilder。我确实重启了这个项目。我确实删除了财产并读了它。我基本上都试过了,但它不起作用。
究竟是什么?
更新:看看这个。这是soooooooooooooooooooooooooooooooooooo怪异:
@foreach(var item in menuItems) {
<p>@item.GetPropertyValue("umbracoNaviHide") - @item.Name</p>
}
这使我有以下几点:
FALSE - Our offers
FALSE - Technology
TRUE - Projects
FALSE - About us
FALSE - Gallery
TRUE - Contact
然而,这是umbracoNaviHide
是如何设置的后台:
Ticked - Our offers
Not ticked - Technology
Ticked - Projects
Not ticked - About us
Not ticked - Gallery
Ticked - Contact
飞行到底是怎么这可能吗?
所以你想列出根本不存在的孩子? :)你可以随时检查Children.Any(x => x.IsVisible())或类似的。所以它解决了? –
@MarcinZajkowski呃不,我想使用umbracoNaviHide创建我应该显示/隐藏的元素菜单,取决于该属性的值。 – MortenMoulder
你可以试试带孩子(x => x.IsVisible())吗? –