Best Practice für viele-zu-viele-Beziehung zwischen Inhaltsbaum Artikel?
Frage
In meinem Inhaltsbaum habe ich einen Baum von Inhaltselementen, die Städte darstellen. Für jeden der möchte ich eine Reihe von logischen Verbindungen haben, ... sagen wir mal ... Nationalparks, die innerhalb von 2 Stunden Fahrt zu erreichen sind. So eine Stadt wird mehrere Parks hat ... und jeder Satz wird anders sein ... aber natürlich wird ein Park auch mit mehr als einer Stadt in Verbindung gebracht werden.
Welche Art von Punkt und Feldaufbau funktioniert gut für diese Art von Situation? Ich werde einen benutzerdefinierten Renderer für diese Elemente wird zu schaffen, so dass ich meistens bin mit, wie dies in Sitecores aussehen sollte Benutzerfreundlichkeit und Leistung zu maximieren.
Ich bin mit Sitecore 6.2.
(Cross-Posting von SDN, bitte verzeihen Sie mir ... aber ich will hier auf Stackoverflow mehr Sitecores Gemeinschaft fördern)
Lösung
Für diese Art von Beziehung, die Sie mit der folgenden Struktur benötigen:
Home
Cities
NY
London
Paris
Parks
Park1
Park2
Park3
Die „City“ Vorlage sollte die Multilist Typ-Feld namens „Parks“. Die soulrce dieses Feldes an die Wurzel des Parks (Home> Parks) aussehen sollte. Auf die gleiche Weise der „Park“ Vorlage hat das Multilist Feld mit dem Namen „Cities“. Die Quelle dieses Feldes an die Wurzel der Städte aussehen sollte (Home> Städte).
Auf diese Weise werden Sie leicht in der Lage sein, jede Art von Anfrage zu erfüllen.
Hope, das hilft.
Andere Tipps
Wenn die Verbindung muss sein, in beiden Richtungen ein, wie Sie es, indem Sie einige Codes zu dem Speichern Ereignis verarbeiten können.
Nehmen wir an, wir haben eine Stadt-Vorlage mit einem Feld „Related Parks“ genannt, und ein Park-Vorlage mit einem „Related Cities“ ein.
Sagen Sie sparen wir eine Stadt Artikel mit zwei Parks in der „Related Parks“ ein. Auf dem Speichern Veranstaltung konnten wir die beiden Parks abrufen und die aktuelle Stadt einfügen, die in das „Related Cities“ Feld auf diesen Parks gespeichert.
Ich bin nicht unbedingt sagen, dies ist der beste Weg, darüber zu gehen, nur eine weitere Option.
Werden Sie tun alle Lookups von Park zu Stadt werden? Zum Beispiel müssen Sie sagen, „alle die Städte, die mit einem bestimmten Park verbunden sind“? Oder wird es nur „alle Parks finden, die mit einer bestimmten Stadt zugeordnet sind“? Wenn Sie die Lookups in beide Richtungen tun müssen, werden die Dinge ein wenig komplizierter, und ich würde wahrscheinlich empfehlen, einen Suchindex verwenden. Allerdings, wenn Ihr Nachschlag nur in eine Richtung ist, könnten Sie nur ein treelist Feld verwenden Assoziationen von einem Elemente zum vielen anderen zu machen.
Aus Ihrer Beschreibung bin ich nicht ganz sicher, ob Sie Gebrauch tatsächlich brauchen, dass viele-zu-viele-Beziehung, oder wenn ein Eins-zu-viele-Pfad ist alles, was Sie brauchen?