2016-04-17 9 views
4

Ich versuche, eine Liste auf meinem aktuellen Modell mit Unterelementen aus einem anderen Ordner zu füllen.Glasmapper Liste füllen von Link-Pfad

Auf meinem aktuellen Modell möchte ich ein Feld vom Typ Allgemein Link definieren, in dem ich ein Element aus Sitecores auswählen, die verschiedene Unterpunkte hat. Die "öffentliche virtuelle IEnumerable-Liste" sollte mit den obigen Unterelementen gefüllt werden.

Ich habe verschiedene Beiträge lesen damit zusammen, wie Sie die folgenden Arten von Abfragen zu machen:

[SitecoreQuery ("./*[@@ template = 'Bewertung']", IsRelative = true)]
öffentliche virtuelle IEnumerable Children {bekommen; einstellen; }

aber in meinem Fall nicht anwendbar ist, weil die meisten wahrscheinlich werde ich diese Vorlage in verschiedenen Bereichen, die ich will hier nicht einbezogen werden.

Wer weiß, ob dies mit Glas möglich ist, oder sollte ich nur eine benutzerdefinierte Abfrage verwenden, um die Liste mit einem Element Subitems zu füllen?

Antwort

1

Wenn Sie ein Drop-Link- oder Drop-Tree-Feld anstelle eines allgemeinen Links verwenden, können Sie das gewünschte Ordnernetzwerk erstellen.

namespace MySite.Models 
{ 
    [SitecoreType(AutoMap = true)] 
    public class Folder<T> : GlassBase 
    { 
     [SitecoreChildren] 
     public virtual IEnumerable<T> Children { get; set; } 
    } 
} 

Und es dann aus einem anderen Modell verwenden wie so:

[SitecoreField("My Link Field")] 
public virtual Folder<ChildModel> MyLinkField { get; set; } 
Verwandte Themen