Tipps & Tricks: Oktober 2016 Bereich: APEX Erstellung: 10/2016 LK Versionsinfo: APEX 5.0 | Oracle 11g, 12c Letzte Überarbeitung: 10/2016 LK Template Substitutions in APEX In APEX lassen sich Variablen auf fünf verschiedene Arten referenzieren: 1.Substitution Strings in HTML Umgebungen (&APP_USER.) 2.Bindvariablen für SQL oder PL/SQL Blöcke (:APP_ID) 3.V/NV Funktionen im PL/SQL Kontext (V('APP_USER') 4.Shortcuts für Regionen und Items ("HELP_TEXT") 5.Template Substitutions (#HOME_LINK#) Für einige der Universal Theme Templates in APEX 5.0 sind die Template Substitutions besonders interessant deswegen wollen wir diese Variablen-Art einmal genauer unter die Lupe nehmen. Wichtig ist dabei, dass die gewünschten Template Substitutions im aktuellen Template Ihrer Seite, Region, Liste, etc. enthalten sind, um sie in der Applikation definieren und nutzen zu können! GLOBAL_NOTIFACTION und Favicons Im Shared Components Menü "Application Definition Attributes" lässt sich so beispielsweise der Substitution String #GLOBAL_NOTIFICATION# im Seiten-Template füllen. Der dort eingefügte Text wird nun automatisch auf allen Seiten Ihrer Applikation angezeigt. Auch sogenannte Favicons (das sind die kleinen Symbole in Ihrem Webbrowser-Tab oder der Adresszeile) können Sie an dieser Stelle ganz einfach für Ihre gesamte Applikation festlegen: Geben Sie als Substitution String "APP_FAVICONS" und den dazugehörigen Bildwert, verpackt in einem Link-Tag, an. Voraussetzung ist hier der String #FAVICONS# im Seiten-Template! Report Templates Das Universal Theme in APEX 5.0 bietet uns einige neue Report-Templates - und auch hier kommen Substitution Muniqsoft GmbH Schulungszentrum, Grünwalder Weg 13a, 82008 Unterhaching, Tel. 089 / 679090-40 IT-Consulting & Support, Witneystraße 1, 82008 Unterhaching, Tel. 089 / 6228 6789-0 Seite 1 von 4 Das Universal Theme in APEX 5.0 bietet uns einige neue Report-Templates - und auch hier kommen Substitution Strings zum Einsatz! Klären wir zunächst noch, was genau mit "Report-Templates" gemeint ist: Im Gegensatz zu Region-Templates werden Report-Templates im "Attributes"-Bereich einer Report-Region definiert. In diesem Tipp zeigen wir die Nutzung von Report-Templates unter Verwendung von Substitution Strings am Beispiel des Templates "Timeline". Template erkunden Ein Blick in das entsprechende Template (Shared Components -> Templates -> Report Timeline) verrät, welche Substitution Strings grundsätzlich verfügbar sind und durch einen Report gefüllt werden können. Die Strings in schwarzer Farbe stehen für Daten, die später im Report sichtbar dargestellt werden. In unserem Beispiel: #USER_AVATAR#, #USER_NAME#, #EVENT_DATE#, #EVENT_TYPE#, #EVENT_TITLE#, #EVENT_DESC#. Substitution Strings in roter Farbe dagegen sind Teil von HTML-Klassen und können zur HTML- und CSS-Bearbeitung genutzt werden: #EVENT_MODIFIERS#, #USER_COLOR#, #EVENT_STATUS#, #EVENT_ICON#. Muniqsoft GmbH Schulungszentrum, Grünwalder Weg 13a, 82008 Unterhaching, Tel. 089 / 679090-40 IT-Consulting & Support, Witneystraße 1, 82008 Unterhaching, Tel. 089 / 6228 6789-0 Seite 2 von 4 Erstellt man einen Bericht mit dem Report-Template "Timeline" und der simplen SQL Query: select 1 from dual so werden auch in der laufenden Applikation die im Template definierbaren Substitution Strings angezeigt: Template befüllen In der Report-Query können diese Substitution Strings nun als Spalten-Aliasse verwendet und dadurch gefüllt werden: select 'IQ' as USER_AVATAR, 'Muniqsoft' as USER_NAME, '07.11.2016' as EVENT_DATE, 'Kurs' as EVENT_TYPE, 'APEX I' as EVENT_TITLE, 'Grundlagen der Anwendungsentwicklung mit APEX' as EVENT_DESC, 'user_blue' as USER_COLOR, 'kurs_status' as EVENT_STATUS, 'fa-book' as EVENT_ICON from dual; Muniqsoft GmbH Schulungszentrum, Grünwalder Weg 13a, 82008 Unterhaching, Tel. 089 / 679090-40 IT-Consulting & Support, Witneystraße 1, 82008 Unterhaching, Tel. 089 / 6228 6789-0 Seite 3 von 4 Jetzt fehlt nur noch die Definition der CSS-Klassenselektoren, die sich auf die HTML/CSS Substitution Strings #USER_COLOR# und #EVENT_STATUS# beziehen. Diese kann beispielsweise im Custom CSS Bereich des Theme Rollers oder in den Seiten-Eigenschaften unter CSS/Inline erfolgen: .user_blue { background-color: #58D3F7; } .kurs_status { background-color: #82FA58; } Template verwenden Und hier ist er, unser "Timeline"-Report: Anhand dieser Vorgehensweise können Sie natürlich auch alle anderen Report-Templates wie "Badge List", "Cards", "Comments" oder "Search Results" in Ihrer Applikation nutzen! Weitere Erklärungen zu Substitutions Strings und Templates sowie Tipps und Tricks rund um APEX 5.0 erhalten Sie in unseren APEX-Schulungen (Grundlagen / Fortschritt / Neuerungen in APEX 5.1)! Schauen Sie doch einfach mal vorbei! Muniqsoft GmbH Schulungszentrum, Grünwalder Weg 13a, 82008 Unterhaching, Tel. 089 / 679090-40 IT-Consulting & Support, Witneystraße 1, 82008 Unterhaching, Tel. 089 / 6228 6789-0 Seite 4 von 4