Stefan Buchali, Mai 6th, 2009

Die RedDot Reihenfolge

RedDot CMS bietet den Templateentwicklern eine Vielzahl an Techniken an, um die jeweiligen Projektanforderungen zu lösen. Somit lassen sich schon unter geschickter Nutzung der „Bordmittel“ und ohne Customizing der Applikation interessante Lösungen realisieren.

Wichtig hierbei ist die Beachtung der richtigen Reihenfolge, in der die einzelnen Module gerendert und ausgeführt werden. Spätere Module können auf den zuvor erzeugten Code zugreifen und ihn weiterverarbeiten. Frühere Module können zudem den Code der folgenden Module erst erzeugen, aber das ist dann schon nicht mehr Pflicht, sondern Kür.

  1. Inhalte der Elemente und Blockmarkierungen, im SmartEdit auch die RedDots
  2. Rendertags
  3. PreExecute-Code
  4. RDExecute-Code (SmartEdit und Vorschau) oder PageBuilder (Publizierung)

Wichtig zu beachten ist der grundsätzliche Unterschied zwischen SmartEdit und Vorschau einerseits und der Publizierung andererseits. Beim Publizieren werden in alle Elemente, die Urls enthalten (Links, Listen, Media, Images, einzelne Infoelemente), zunächst nur Vorab-Informationen für den Pagebuilder geschrieben. Erst dieser erzeugt dann daraus die finale Url. Sie steht somit noch nicht für die Verarbeitung im PreExecute zur Verfügung!

Stefan Buchali, Dezember 10th, 2008

Mit Rendertags Daten der Seite im Targetcontainer auslesen

Targetcontainer sind ein schickes Feature im RedDot CMS, mit dem man schnell und effizient Projektstrukturen aufbauen kann.

Wie allerdings gelingt es, Inhalte einer Seite im Targetcontainer auf die Rahmenseite zu übertragen, z.B. um die Headline einer Pressemeldung in den Title-Tag zu schreiben?

Transferelemente funktionieren nur “abwärts”. Sie transferieren Informationen aus der Rahmenseite an die Seite im Targetcontainer. Doch wie geht es “aufwärts”?

Bislang musste man auf eine Skriptinglösung zurückgreifen (Liste + ActiveTemplate + ID-Vergleich, um hier die Stichworte zu nennen). Eine Standardfunktion war nicht verfügbar.

Anders ist es nun seit der Version 7, mit der die Rendertags eingeführt wurden. Diese stellen eine mächtige Erweiterung des Funktionsumfangs dar. Mit einem einfachen Statement greift man direkt auf die Elemente einer bestimmten Seite zu, z.B. auf die Überschrift:

<%!! Context:Pages.GetPage(Guid:GUID_DER_SEITE).Headline !!%>

Ersetzt man nun die fixe GUID gegen das Infoelement “GUID der Seite”, mit aktivierter Option “Daten der Seite im Targetcontainer”, erhält man zur Laufzeit die Überschrift der Seite im Targetcontainer:

<%!! Context:Pages.GetPage(Guid:<%inf_guid_in_TC%>).Headline !!%>

Auf analoge Weise erhält man jedes beliebige Element dieser Seite. Ganz ohne Skripting.

stoll & fischbach eBusiness
SF Interactive Performance Institut für Angewandte Usability