Adventtipp 19 – Compatible Renderings

sitecore-advent14

Der heutige Adventstipp beschäftigt sich mit der Möglichkeit das Aussehen einer Komponente zu ändern. Sitecore bietet hierbei das Feature der Compatible Renderings, womit es dem Benutzer u.a. im Browser Editiermodus (Experience Editor) leicht möglich ist das Rendering eines Content-Items direkt auszutauschen.

Sitecore-Funktionlität

Compatible Renderings können über ein Rendering Controller definiert werden und sollten dabei die folgenden Anforderungen erfüllen:

  1. es wird die selbe Datenquelle oder zumindest die gleiche Datenstruktur genutzt
  2. die Renderings sind im gleichen Placeholder erlaubt
  3. die Funktionalität ist ähnlich, das Design unterscheidet sich unwesentlich
Abbildung 1 – Drei unterschiedliche Komponenten

Abbildung 1 – Drei unterschiedliche Komponenten.

Abbildung 1 illustriert in diesem Kontext ein 4 Spalten Grid, das 4 Items durch 3 unterschiedliche Komponenten abbildet. Die beiden linken Items repräsentieren dabei einen Image Teaser mit blauer Textfarbe und einem Button mit weißer Fläche. Das dritte Item zeigt eine Komponente mit  Ähnlichkeiten in Aussehen und Datenstruktur. Hierbei kann die Rendering Kompatibilität als sinnvoll erachtet werden. Das rechte Item hingegen besitzt lediglich ein gemeinsames Feld, die Headline. Hierbei sind Punkte 1. und 3. der Anforderungen nicht erfüllt. Eine Zuordnung zu den anderen beiden Image Teasern als Compatible Rendering ist hier somit nicht zu empfehlen.

Abbildung 2 zeigt, wie für dieses Item das Rendering leicht ausgetauscht werden kann.

Abbildung 2 – Die Komponenten nutzten nun das selbe Rendering.

Anwendungsfall

Eine Komponente wird für unterschiedliche Seitentypen auf einer Webseite verwendet. Für einen Seitentyp wird entschieden, das Aussehen an dieser Stelle zu verändern. Beispielsweise sollte sich die Schriftfarbe von blau nach grün ändern (siehe auch Abbildung 1). Um diese Anforderung zu lösen, müsste der User lediglich im Experience-Editor das jeweilige Rendering austauschen. Die Vorteile dieses Ansatzes:

  • alle Daten bleiben erhalten, auch wenn nach dem Austausch des Rederings nicht mehr dargestellt werden
  • die Item-ID des Content-Items ändert sich nicht. Weitere Abhängigkeiten in diesem Zusammenhang bleiben somit unberührt
  • eine Umkehrung des Renderings ist leicht wieder möglich. Es gehen keine Item Informationen verloren

Aufwändiger wird es für den Benutzer, wenn vielfach Content-Items für den Seitentyp erstellt worden sind. Er müsste somit die Änderung auf jeder Seite einzeln vornehmen. Abhilfe kann hier ein Power-Shell Script schaffen, das die Änderung allgemeingültig für alle betroffenen Content-Items vornimmt.

Das unten aufgeführte Script zeigt hierzu einen ersten Ansatz. Dabei wird ab einem bestimmten Item-Knoten für den Seitentyp Content-Page das veraltete Rendering durch ein Neues ersetzt.

 

Power Shell Script - replace renderings

Power Shell Script – replace renderings

 

Sitecore PowerShell Extensions
Sitecore SDN

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>