2012-11-22 10 views
7

Ich versuche, Elemente aufzulisten, die eine festgelegte Vorlage auf der übergeordneten Seite in Sitecore haben. Bisher habe ich es für die Kinder tun können, aber ich möchte auch die Kinder Kinder umfassen, dh alles, was unter dem übergeordneten, wenn sie die gewählte Vorlage hat funktioniert es, dies ist mein Code in C# Datei:Erhalten von Kindern Kinder in Sitecore

lvThing.DataSource = context.Children.Where(x => x.TemplateName == "cool template").ToList<Item>(); 
lvThing.DataBind(); 

Antwort

13

Wenn Sie die Elemente unterhalb der untergeordneten Elemente haben möchten, können Sie die item.Axes.GetDescendants() -Methode verwenden, um alle Elemente unterhalb des Kontextelements abzurufen.

Ihr Code dann sollte wie folgt aussehen:

contextItem.Axes.GetDescendants().Where(x => x.TemplateName == "cool template").ToList(); 
+0

Hallo, danke für die Antwort, aber einen Fehler erhalten, mit: lvThing.DataSource = contextItem.Axes.GetDescendants() Wo (x => x.. TemplateName == "cool template"). ToList (); – David

+0

ah, um zu arbeiten, indem Kontext zu Kontext geändert wird. Danke für die Hilfe :-) – David

+0

Ich wäre vorsichtig mit GetDescendants kann es ziemlich teuer sein. – Anicho

Verwandte Themen