umbraco - how, um alle Knoten nach Dokument-Typ
Wie bekomme ich alle Knoten, die durch spezifische Document Type
?
Zum Beispiel, ich möchte code hinter all der Knoten mit Document Type: s3Article
. Wie kann ich dies tun?
Neue Informationen:
IEnumerable<Node> nodes = uQuery.GetNodesByType("s3Article").Where(x => x.NiceUrl.Contains("en"));
lvArticles.DataSource = nodes;
lvArticles.DataBind();
Dies ist mein code. Ich musste Where(x => x.NiceUrl.Contains("en"))
, weil ich 2 language version - ohne Where
ich erhalte Knoten, die von allen Katalogen mit doctype s3Article
, aber ich will nur von einer Sprache version.
Problem ist hier:
<a href='<%# umbraco.library.NiceUrl(Tools.NumericTools.tryParseInt( Eval("id"))) %>'><%# Eval("title")%></a>
<%# Tools.TextTools.makeIMGHTML("../.."+ Eval("img").ToString(),"180") %>
<%# umbraco.library.StripHtml(Limit(Eval("Article"), 1000))%>
<%# Eval("author")%>
System.Web.HttpException: DataBinding:
'umbraco.- Präsentation.nodeFactory.Knoten " enthält keine Eigenschaft mit dem Namen 'title'.
Das gleiche problem passiert, mit dem Titel, img, Artikel, Autor. Nur die ID funktioniert schön. Wie es zu lösen?
InformationsquelleAutor whoah | 2013-04-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die uQuery
GetNodesByType(string oder int)
Methode:Alternativ können Sie eine Erweiterung Methode, um alle untergeordneten Knoten, und klicken Sie dann Fragen Sie nach Typ, wie in der folgenden Antwort:
Umbraco 4.6+ - Wie man alle Knoten, die von doctype in C#?
Könnte man dies verwenden, um databind-Methode auf ein Steuerelement innerhalb eines usercontrol-wie so:
Nur, Sie würde Strippen müssen die html-konvertieren Sie die image-id in eine url, etc. innerhalb der select-Anweisung sowie...
Sie können uComponents 3 für ältere Versionen von Umbraco: ucomponents.codeplex.com
Jonathan ist richtig, uQuery war ursprünglich Teil der uComponents. Es war integriert in Umbraco in 4,8+, aber ist noch verfügbar als Teil des uComponents-Paket für die Versionen bis 4.8.
überprüfen Sie meine aktualisierte Antwort für eine andere Lösung.
Super!!! vielen Dank für die info über uComponents und uQuery. Ich fügen Sie einige neue Informationen in meinem ersten post, bitte schauen Sie es. Grüße!
InformationsquelleAutor Douglas Ludlow
Als Shannon Deminick erwähnt, uQuery ist etwas veraltet. ExamineManager werden die schnellsten Ausführungszeiten. https://our.umbraco.org/forum/developers/api-questions/45777-uQuery-vs-Examine-vs-IPublishedContent-for-Querying
Ich fand es auch am einfachsten und besten lesbaren Ansatz ExamineManager Suche builder. Sehr flexibel, und hat den zusätzlichen Vorteil des seins, sehr gut lesbar durch die Fluent Builder-Muster die U-Teams verwendet.
Diese sucht nach ALLEN Knoten, so dass, wenn Sie müssen innerhalb einer bestimmten Filiale, die Sie verwenden können .ParentId(1234) etc.
Ich lieber typisierter Knoten, aber Sie können auch verwenden Sie einfach "Search()" anstelle von "TypedSearch ()", wenn Sie bevorzugen dynamische Knoten.
Einem anderen Beispiel eine bestimmte Eigenschaft mit dem Wert "myPropValue" == "ABC",
Ref - https://our.umbraco.org/documentation/reference/querying/umbracohelper/
InformationsquelleAutor Marc D.