2016-05-04 14 views
1

Ich habe eine Funktion in C#, die eine PageDataCollection-Variable zurückgibt. Wie kann ich diese PageDataCollection basierend auf der Episerver-Strukturansicht sortieren? (Die Seiten sind in der Baumansicht in einer bestimmten Reihenfolge gezeigt) verwende ich EPiServer 6 R2sortiere PageDataCollection var basierend auf Strukturansicht

Antwort

1

können Sie verwenden, um die PageChildOrderRule Eigenschaft die Art überprüfen Einstellung (zB durch Index, Veröffentlichungsdatum, etc.) und PagePeerOrder, um den Sortierungsindex (numerischer Wert, der verwendet wird, wenn die Sortierreihenfolge auf Index gesetzt ist) zu erhalten.

Mit anderen Worten, jede Seite legt fest, wie ihre Kinder sortiert werden. Dies wiederum ist, wie der Seitenbaum gerendert wird.

Diese Eigenschaften werden durch die Property Indexer auf Ihrem Pagedata-Objekt, zum Beispiel Introduction:

int sortIndex = (int)CurrentPage["PagePeerOrder"]; 
+0

Danke, Ted! So funktioniert das, wenn ich möchte, dass meine PageDataCollection der gleichen Sortierung folgt, die auf die Baumansicht angewendet wird (nicht umgekehrt)? 'Ich arbeite mit foreach (PageData x in DataFactory.Instance.FindPagesWithCriteria (rootPage, criteria)) { x [" PagePeerOrder "] funktioniert hier nicht? } Ich möchte, basierend auf Ihrer Idee, zuerst die PagePeerOrder überprüfen und dann diese Informationen verwenden, um die Elemente in einer anderen PageDataCollection hinzuzufügen, die ich von der Methode zurückgeben. – Halle

+0

Ich habe CMS6 schon lange nicht mehr benutzt, aber was ist mit FilterSort? https://sdk.episererver.com/library/cms6/html/M_EPiServer_Filters_FilterSort_Sort.htm –