Alle meine letzten Projekte hat UmbracoNaviHide innerhalb einer True/False-Eigenschaft implementiert, und sie alle funktionieren gut. In meinem 7.6.9 aktualisierten Projekt kann ich einfach keinen True/False-Wert erhalten.UmbracoNaviHide funktioniert nicht auf neues Projekt
Auf meiner Master-Komposition habe ich eine Registerkarte "Navigation" zusammen mit einer True/False-Eigenschaft. Alle meine Seiten erben durch diese Komposition.
Wenn ich so etwas wie:
var menuItems = CurrentPage.Site().Children;
@foreach(var item in menuItems) {
if(item.IsVisible()) {
<!--show element-->
}
}
Es funktioniert nicht. Es sollte funktionieren, wie es bei all meinen neuesten Projekten der Fall ist. Hier ist, was ich versucht habe:
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 --> }
}
Ich denke, das ist alles. Ich habe meinen ModelsBuilder aktualisiert. Ich habe das Projekt neu gestartet. Ich habe das Eigentum entfernt und es gelesen. Ich habe grundsätzlich alles versucht, aber es wird einfach nicht funktionieren.
Was in aller Welt?
UPDATE: Überprüfen Sie dies. Dies ist soooooooooooooooooooooooooooooooooooo seltsam:
@foreach(var item in menuItems) {
<p>@item.GetPropertyValue("umbracoNaviHide") - @item.Name</p>
}
Das gibt mir folgende:
FALSE - Our offers
FALSE - Technology
TRUE - Projects
FALSE - About us
FALSE - Gallery
TRUE - Contact
Dies ist jedoch, wie die umbracoNaviHide
ist Setup im Back-Office:
Ticked - Our offers
Not ticked - Technology
Ticked - Projects
Not ticked - About us
Not ticked - Gallery
Ticked - Contact
Wie die fliegenden Hölle das möglich?
Sie wollten also Kinder auflisten, die gar nicht existieren? :) Sie können immer nach Children.Any (x => x.IsVisible()) oder ähnlichem suchen. Also ist es gelöst? –
@MarcinZajkowski Uh nein, ich möchte die UmbracoNaviHide verwenden, um ein Menü mit Elementen zu erstellen, die abhängig vom Wert der Eigenschaft angezeigt/ausgeblendet werden sollen. – MortenMoulder
Können Sie versuchen, die Kinder mit .Children (x => x.IsVisible()) zu nehmen? –