我最近的所有項目都在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())嗎? –