2012-11-22 11 views
7

Próbuję wyświetlić elementy, które mają ustawiony szablon na stronie nadrzędnej w Sitecore. Do tej pory mogę zrobić dla dzieci, ale również chcę obejmują dzieci Dziecięce, czyli wszystko pod rodzica, jeśli ma szablon będzie działać, to jest mój kod w pliku C#:Uzyskiwanie dzieci dzieci w sitecore

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

Odpowiedz

13

Jeśli chcesz mieć elementy poniżej elementów podrzędnych, możesz użyć metody item.Axes.GetDescendants(), aby uzyskać wszystkie elementy poniżej elementu kontekstowego. następnie

Kod powinien wyglądać następująco:

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

Witam, dzięki za odpowiedź, ale otrzymuję błąd, używając: lvThing.DataSource = contextItem.Axes.GetDescendants() Gdzie (x => x.. TemplateName == "fajny szablon"). ToList (); – David

+0

ah, do pracy, zmieniając contextitem na kontekst. Dzięki za pomoc :-) – David

+0

Byłbym ostrożny przy użyciu GetDescendants, może to być dość drogie. – Anicho