2017-02-02 10 views
1

Ich bin eine Datenquelle zu einem sublayout Anwendung und die Werte seiner Kinder zu erhalten, wie folgt:Sitecores Kinder von Datasource

Sitecore.Collections.ChildList childItems; 

if (Sitecore.Context.Database.GetItem(this.DataSource) != null) 
{ 
    childItems = Sitecore.Context.Database.GetItem(this.DataSource).GetChildren(); 
} 
else 
{ 
    litDataSourceError.Text += "You need to set a datasource"; 
} 

foreach (Item item in childItems) 
{ 
    litDataSourceError.Text += "<h2>" + item.Fields["Title"].Value + "</h2>"; 
} 

Dies ist wie erwartet funktioniert jedoch diese Elemente auch Kinder haben, die Ich mag würde Ausgang.

Also meine Frage ist, wie man einen weiteren Knoten in meinem ForEach nach unten schaut, um die Childrens Children zu bekommen - es wird nur diese 2 Ebenen der Struktur geben.

Antwort

1

Sie sollten das gleiche tun, wie Sie für Ihre Datenquelle hat (die Kinder des Sitecores Artikel holen):

foreach (Item item in childItems) 
{ 
    litDataSourceError.Text += "<h2>" + item.Fields["Title"].Value + "</h2>"; 
    foreach (Item child in item.GetChildren()) 
    { 
     ... 
    } 
} 
+0

Ja, das Gefühl danken Ihnen für Ihren Vorschlag macht ich diesen Ansatz nehmen. – user3779703