2017-01-26 9 views
-1

ich eine Sitecores Struktur der Elemente haben, dieSitecores Aufbau einer einzigen Seite von untergeordneten Knoten Daten

umfasst
  • Bereich
    • Produkt 1
      • Produkte (Text)
      • Produkt Bild (Bild)
    • Artikel 2
      • Produkte (Text)
      • Product Image (Text)

Ich brauche eine einzelne Seite Ansicht zu machen, dass iteriert durch jedes dieser Knoten und sammelt und gibt die Daten für jeden aus - kann jemand bei der Methode helfen, die ich am besten dafür verwenden würde?

Es tut uns leid, wenn dies eine grundlegende Frage ist, aber jeder Beispielcode würde geschätzt werden.

+0

MVC oder WebForms gehen könnte? –

+0

über webforms - danke für die Antwort – user3779703

Antwort

0

Sie sollten wirklich darüber nachdenken, nur eine einzige Produktvorlage mit einem Produktnamenfeld und einem Produktbildfeld zu verwenden, anstatt Artikel mit einzelnen Feldern unter dem Produkt zu haben. Aber wenn dies Ihre Anforderung ist, so würden Sie es tun.

SubLayout (oder Layout wenn nötig)

<div> 
    <sc:Text runat="server" id="txtProductName" Field="ProductName"/> 
    <sc:Image runat="server" id="imgProductImage" Field="ProductImage"/> 
</div> 

Dann hinter Ihnen das aktuelle Element würde in Code (das Produkt und das Kind Artikel finden, die dem entspricht, was Sie suchen, und weisen Sie es als die Feld Artikel.

private void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      BindData(); 
     } 
    } 

    private void BindData() 
    { 
     txtProductName.Item = Sitecore.Context.Item.Children.FirstOrDefault(x => x.TemplateID == Constants.Templates.ProductName); 
     imgProductImage.Item = Sitecore.Context.Item.Children.FirstOrDefault(x => x.TemplateID == Constants.Templates.ProductImage); 
    } 

In meinem Beispiel habe ich es bin die Lösung für ein Element der Vorlage Typ X suchen, aber Sie nach Namen oder auf andere Weise zu wissen.

+0

Wie geht das * iterieren * über seine "Produkt" -Einträge? Dies ist nur ein einzelnes Element Rendern. – sh1rts

+0

Er erhält die untergeordneten Elemente auf dem Produkt und sucht den richtigen Typ anhand der Vorlagen-ID. Item.Children.FirstOrDefault (x => x.TemplateID == Constants.Templates.ProductTemplate). Es ist also mehr als nur ein Gegenstand. Es sind alle Kinderartikel, die die Anfrage waren. –

Verwandte Themen