CMS Handbuch – Entwickler
Technische Referenz und Entwicklerdokumentation für das batix® CMS
Einführung & Grundlagen
Konzepte, Tag-Grundlagen, Filter, Datums-Patterns, Redakteurs-Tags.
Filter
Um mittels Code einfacher zu filtern, gibt es die Hilfsklasse Records (siehe Beschreibung). Filt...
Parameter-Werte (Präfixe)
Mit den folgenden Präfixen kann man auf verschiedene Variablen zugreifen: request:Name - der We...
Pattern bei Datum
Pattern Entsprechung d Tages im Monat ohne vorangestellter 0 bei einstelligen Zahlen (z.B...
Redakteurs-Tags
Titel <bx:tag.{titel} /> Alle Unterstriche / Underscores ( _ ) im {titel} Platzhalter werden in...
Batix-Tags Referenz
Vollständige Referenz aller bx: Tags, alphabetisch.
Batix-Tags Referenz
Hinweis für (fast) alle Tags: für Parameterwerte können auch Präfix-Variablen eingesetzt werden....
bx:access
Der Inhalt des Tags access wird nur ausgegeben, wenn der Intranetbenutzer Zugriff auf einen gewäh...
bx:admincomment
Mit dem Tag admincomment kann man in der Redakteursansicht in der Verwaltung einen Hinweistext zu...
bx:barcode
Mit dem Tag barcode können verschiedene 1D und 2D-Codes erzeugt werden (Beispiele siehe unten). ...
bx:bild
Das Tag bild fügt ein Bild aus der Bildergalerie in das Dokument ein und lässt vielfältige Mögli...
bx:browse
Das Tag browse gibt benachbarte Menüpunkte (ebenenübergreifend) zum Zweck des Blätterns aus. <bx:...
bx:calendarfield
Mit dem Tag calendar kann man in einem Kalender Datumseinträge aus einem Container abbilden. Beis...
bx:calendarloop
Das Tag calendarloop benötigt man zur Erzeugung eines Kalenders mit Container-Anbindung. Siehe au...
bx:choice
Das Tag choice zeigt seinen Inhalt abhängig vom aktuellen Hauptmenüpunkt an (z.B. für mehrsprachi...
bx:clipboard
Das Tag clipboard wird verwendet, um sich Werte oder (Quell)Texte zu merken und später auf der Se...
bx:cmpageinclude
Mit dem Tag cmpageinclude können Sie andere CM-Seiten einbinden. Es ist eine Erweiterung von Bx:i...
bx:contact
Mit Hilfe des Tags contact kann ein Kontaktformular erstellt werden. Die Ziel-Adresse kann über ...
bx:containerdata
Das Tag containerdata zeigt zusätzliche Daten in bx:containerloop an. Wegen Systemkompatibilität ...
bx:containerfilter
Mit dem Tag containerfilter kann man eine Containerliste (spezifiziert durch die Container-ID ode...
bx:containerkat
Das Tag containerkat listet Container, gefiltert nach einer verknüpften Kategorie. ** Deprecated ...
bx:containerloop
Das Tag containerloop listet Datensätze einer Datenliste. In den unten aufgeführten Formen muss d...
bx:containersearch
Das Tag containersearch gibt eine Liste von Containerdatensätzen aus, die einem Suchergebnis in d...
bx:cookie
Mit diesem Tag können Cookies gesetzt/gelesen und Vergleiche angestellt werden. (verfügbar ab Ver...
bx:datum
Mit dem Tag datum kann ein Datum aus einem Kalender gewählt werden (z.B. um Verfallsdatum der Sei...
bx:designloop
Das Tag designloop erzeugt eine Schleife von sortierbaren Designbausteinen. Früher mit Tabellen-L...
bx:dezimal
Mit dem Tag dezimal kann in der Verwaltung eine Zahl mit Nachkommastellen eingegeben werden. Man ...
bx:directorylisting
Mithilfe des Tags directorylisting lässt sich eine Verzeichnislistung der Dateiverwaltung darstel...
bx:document
Mittels des Tags document kann in der Verwaltung ein Dokument zugeordnet werden. Als Ausgabe ist ...
bx:documentlist
Das Tag documentlist listet ein virtuelles Verzeichnis der Dokumentenverwaltung. bx:documentlist ...
bx:editbutton
Mit dem Tag editbutton kann man im Frontend Buttons oder Links anzeigen, mit denen man in die Ver...
bx:email
Das Tag email stellt in der Verwaltung ein Eingabefeld für eine Email-Adresse zur Verfügung. Auf ...
bx:evaluate
Der Body dieses Tags evaluate wird ausgewertet und das Ergebnis ein zweites Mal bx-Tag-mäßig ausg...
bx:frame
Das Tag frame stellt Funktionen für Framesets zur Verfügung. <bx:frame default="{pfad}" /> Um an...
bx:gif
Das Tag gif funktioniert ähnlich wie Bx:bild, nur wird hier die Grafik in den Dokumentenvorlagen ...
bx:groovy
Mittels bx:groovy kann innerhalb eines Template einfach Groovy-Code ausgeführt werden. Groovy Cod...
bx:head
Der Befehl head schreibt diverse Angaben zum Projekt in den Headbereich. head.style <bx:head.styl...
Bx:i18n
Das Tag i18n ist zur Unterscheidung von Text in unterschiedlichen Sprachen. <bx:i18n.{Schluesselw...
bx:if
Das Tag if zeigt seinen Inhalt nur an, wenn eines oder mehrere innere Tags einen Inhalt besitzen....
bx:ignore
Um Bereiche eines Templates auszukommentieren kann das Tag ignore benutzt werden. <bx:ignore> nic...
bx:include
Das Tag include bietet die Möglichkeit ein Textbaustein oder eine HTML-Seite einzufügen. Hinweis:...
bx:internlink
In der Administration bietet dieses Tag internlink die Auswahl eines Navigationspunktes und im Fr...
bx:javainclude
Mithilfe des Tags javainclude kann eine JSP-Datei eingebunden werden, die über die Dokumentvorlag...
bx:json
Mit dem Tag bx:json können JSON Strukturen ausgelesen und einfach durchgegangen werden. Um schnel...
bx:jspinclude
Das Tag jspinclude veranlasst den Server eine URL aufzurufen und den zurückgegebenen Text in die ...
bx:link
Das Tag link schreibt einen automatisch generierten Link um seinen Inhalt. Unter anderem auch zur...
bx:login
Das Tag login zeigt seinen Inhalt nur an, falls der User ein- bzw. ausgeloggt ist. <bx:login.if (...
bx:loop
Mithilfe des loop-Tags ist es möglich, sich wiederholende Inhalte mit gleichem Aufbau zusammenzuf...
bx:mapping
Das Tag mapping kann sich Werte zu Schüsselwerten (values zu keys) merken und später können diese...
bx:math
Das Tag math führt Berechnungen durch. Ab Version 2.5.9. <bx:math pattern="..." locale="de" gs="....
bx:navdata
Das Tag navdata gibt zum aktuellen Menüpunkt des Schleifendurchlaufs Daten aus. Es kann innerhalb...
bx:navigation
Das Tag navigation wird verwendet, um eine Navigationsstruktur darzustellen. Allgemeine Syntax <b...
bx:navlink
Mit dem Tag navlink kann man auf Daten eines Menüpunktes zugreifen (z. B. bx:text, bx:bild usw). ...
bx:news
Momentan nur für alte Container <bx:news.loopyears pool="..." datumfield="Datum" archivfield="Arc...
bx:option
<bx:option.Auswahlbezeichner options="Option1,Option2,Option3" values="o1,o2,o3"/> Stellt sich i...
bx:optional
In der Administration stellt sich das Tag optional als Checkbox dar. Im Frontend wird der Inhalt ...
bx:pagedata
Mithilfe des Tags pagedata lassen sich die verschiedensten Informationen die Seite betreffend aus...
bx:pageinclude
Das Tag pageinclude bindet eine JSP- oder CM-Seite in das aktuelle Design ein. Die einzubindende ...
bx:paypal
Mithilfe dieses Tags wird ein verschlüsselter Wert für ein <hidden>-Feld generiert, das an Paypal...
bx:plugin
Mit dem Tag plugin kann man sicherstellen, daß Pluginseiten genauso aussehen wie normale Verwaltu...
bx:record
Das Tag record stellt einen Datensatz einer Containerliste auf einer Seite dar. Es kann entweder ...
bx:recordchoice
Das Tag recordchoice dient dem Anzeigen eines verknüpften Containerdatenfeldes z. B. als Dropdown...
bx:recorddata
Das Tag recorddata gibt zusätzliche Daten innerhalb einer Containerliste (z.B. bx:containerloop o...
bx:recordfield
Das Tag recordfield stellt ein einzelnes Element eines Container-Datensatzes dar. Dies kann ein s...
bx:relativelink
Das Tag relativelink dient zum Erzeugen relativer Links. Unterpunkt des aktuellen Hauptmenüpunkte...
bx:scanner
Die Ausgabe des Tags <span style="color: rgb(0,51,102);">scanner</span> ist abhängig vom User-Age...
bx:schleife
Das Tag schleife ersetzt das frühere bx:loop. Es können nun mehrere Schleifen in einer Ebene oder...
bx:search
**Achtung!** Dieses Tag ist deprecated (missbilligt), es wird nicht mehr weiterentwickelt oder in...
bx:secureform
Das Tag bx:secureform wird benutzt, um Formulare gegen Manipulationen abzusichern. Es ist verfügb...
bx:sessiondata
Das Tag sessiondata setzt, liest und vergleicht Werte von Session-Variablen. Auslesen eine Attrib...
bx:sitemap
**Erweitertes Tag** Das Tag `sitemap` ist eine Erweiterung von **[bx:navigation](/books/cms-hand...
bx:statistik
Dies ist ein Tag, das statistische Angaben von Userzugriffen auf Navigationspunkte ausgeben kann....
bx:submenu
Das Tag submenu erzeugt eine Liste der Unterpunkte des aktuellen Menüpunktes. Kann geschachtelt w...
bx:submenulist
**Achtung!** Dieses Tag ist deprecated (missbilligt), es wird nicht mehr weiterentwickelt oder in...
bx:systemdata
Mithilfe des Tags systemdata lassen sich Systemvariablen ausgeben. Systemvariablen werden in der ...
bx:tablechoice
Dieses Tag ist eine Erweiterung von bx:recordchoice. Alles was in bx:recordchoice möglich ist, is...
bx:tabledata
Dieses Tag ist eine Erweiterung von bx:recorddata. Alles was in bx:recorddata möglich ist, ist au...
bx:tablefield
Dieses Tag ist eine Erweiterung von bx:recordfield. Alles was in bx:recordfield möglich ist, ist ...
bx:tablefilter
Dieses Tag ist eine Erweiterung von bx:containerfilter. Alles was in bx:containerfilter möglich i...
bx:tablekat
Dieses Tag ist eine Erweiterung von bx:containerkat. Alles was in bx:containerkat möglich ist, is...
bx:tableloop
Dieses Tag ist eine Erweiterung von bx:containerloop. Alles was in bx:containerloop möglich ist, ...
bx:tablerecord
Dieses Tag ist eine Erweiterung von bx:record. Alles was in bx:record möglich ist, ist auch hier ...
bx:tablesqlfilter
Das Tag tablesqlfilter filtert einen Container über eine SQL-Anweisung, die in den Tag-Einstellun...
bx:text
Mittels des Tags text kann für Redakteure eine Eingabemöglichkeit in Form eines einzeiligen Textf...
bx:textarea
Das Tag textarea stellt in der Verwaltung ein Eingabefeld für einen beliebigen, mehrzeiligen Text...
bx:titel
**Erweitertes Tag** Das Tag `titel` ist eine Erweiterung von **[bx:text](/books/cms-handbuch-entw...
bx:tools
Das Tag tools vereint kleine Hilfen, um häufig auftretende Aufgaben zu vereinfachen. Hilfsmittel ...
bx:userdata
Das Tag userdata gibt seinen Inhalt abhängig vom Status des angemeldeten Benutzers aus (z.B. für ...
bx:userrecord
Das Tag userrecord erzeugt eine Schleife aus den Datensätzen einer Liste, in denen ein Wert der I...
bx:validation
Das Tag validation kann Fehlermeldungen einer Containervalidation auswerten und so die Anzeige vo...
bx:websearch
Dieses Tag ermöglicht die Darstellung von Suchergebnissen der Webseite. Die Suche ist über die Fu...
bx:xml
Ab Version 2.6.8 Mit dem Tag bx:xml können XML Strukturen ausgelesen und einfach durchgegangen we...
Actions
Alle Action-Bausteine (39 Seiten).
Actions – Übersicht
Aktionen realisieren im Zusammenwirken mit Dokumentvorlagen an bestimmten Menüpunkten erforderli...
Batix Quelltext ausführen
Führt Batix Quelltext aus Werte können mit bx:pagedata.setscriptattribute an den nächsten Action...
Benutzergruppe anlegen
Dieses Action erzeugt eine neue Benutzergruppe. Parameter groupname Feld mit Gruppennam...
Bild hochladen
Diese Aktion verschiebt eine hochgeladene Datei in die Dateiverwaltung. Dabei ist es wichtig, da...
Captcha Abfrage
Diese Aktion prüft, ob der zum CAPTCHA-Bild eingegebene Text korrekt ist. Dazu muß auf der Seite...
CMS-Seite versenden
Eine normale Seite im Projekt wird gelesen und dann als HTML-Email versendet. Da diese Aktion au...
Container-Filteraction
Mit diesem Action kann man einen Container nach bestimmten Filter-Kriterien durchsuchen und dara...
Container kopieren
Diese Aktion kopiert Daten aus einem Container in einen anderen. Felder mit gleichen Namen und T...
Containerdaten aus Email importieren
Diese Aktion speichert Container- und Untercontainerdatensätze. Die nötigen Daten werden von ein...
Containerdaten speichern
iese Aktion speichert einen Containerdatensatz, dessen Felder im Request übergeben wurden. Funkt...
Containerdatensatz löschen
Es wird ein bestimmter Datensatz mitsamt allen Feldern und Untercontainern gelöscht. Parameter ...
Containerinhalt validieren
Diese Aktion liest einen Datensatz aus einem Container und validiert ihn anhand von Kriterien. F...
Dokument hochladen
Diese Aktion verschiebt ein hochgeladenes Dokument in die Dateiverwaltung. Dabei ist es wichtig,...
Excel-Action
Erzeugt eine Excel-Datei, die gleich geöffnet oder als Download angeboten werden kann. Parameter...
Formular als Mail versenden
Die Daten aus dem Request werden in ein Email-Design mit Platzhaltern eingefügt. Dann wird es al...
Formulardaten validieren
Mit dieser Aktion ist es möglich, Formulardaten auf korrekte Syntax zu überpüfen. failp...
Intranet Login
Um einen User im Intranetbereich zu authentifizieren wird diese Aktion benutzt. Funktionen: Para...
Intranet Logout
Diese Aktion invalidiert die Session und loggt damit den Benutzer aus. Parameter nextpa...
Intranet-User anlegen/ändern
Mit dem Action kann man einen Intranet-User anlegen und Angaben ändern (z.B. bei Paßwort vergess...
JSP-Baustein ausführen
Ein JSP-Baustein wird ausgeführt. Parameter jsp-id der auszuführende Baustein (ist aus ...
Newsletter – Abo abmelden
Kurzbeschreibung Funktionen: Parameter entfernt URL zur Folgeseite, wenn der Newsletter...
Newsletter – Abo ändern
Einstellungen des Newsletterabo werden geändert. Parameter nextpage die Folgeseite R...
Newsletter – Abonnentenlogin
Authentifizierung um Newsletterabo zu ändern. Parameter login Folgeseite, wenn Login OK...
Newsletter aktivieren
Ein abonnierter Newsletter wird freigeschalten. Parameter successpage die Seite, die na...
Newsletter – Newsletter abonnieren
Jemand wird zur Newsletter-Kundenliste hinzugefügt und erhält eine Email mit seinen Zugangsdaten...
Newsletter – Passwort vergessen (1)
Diese Aktion verlangt eine Eingabe der Email-Adresse um die geheime Antwort eingeben zu können. ...
Newsletter – Passwort vergessen (2)
Nach Eingabe der geheimen Antwort wird eine Email mit dem Passwort versandt. Parameter ...
Passwort des angemeldeten Users ändern
Das Passwort des gerade angemeldeten Users kann mittels dieser Aktion geändert werden. Parameter...
Shop – Bestellung versenden
Diese Aktion versendet den Warenkorb per Email. Parameter name der Name des Warenkorbes...
Shop – Hinzufügen zu Warenkorb
Durch diese Aktion wird ein neues Element in den Warenkorb aufgenommen. Parameter name ...
Shop – Löschen im Warenkorb
Diese Aktion löscht einen Artikel aus dem Warenkorb oder leert den Warenkorb komplett. Parameter...
Shop – Zusatzgebühr zum Warenkorb
Eine Zusatzgebühr (z. B. Nachnahme, Lieferkosten, Versicherung) wird in den Warenkorb gelegt ode...
Sicheres Formular überprüfen (SecureformAction)
Das SecureForm-Action wird benutzt, um Formulare gegen Manipulationen abzusichern. Es ist verfüg...
Suche im Web
Es wird eine Suche in vorher indizierten Seiten des Webs ausgeührt. Das Suchergebnis wird in der...
Validierungsergebnis ausgeben
Diese Aktion wertet das Ergebnis einer Container-Validierung aus. Es kann ein Report in ein Text...
Vorhandene Bedingung abfragen
Dies ist eine Aktion, die einen Abbruch der Aktionsverarbeitung bewirkt, wenn ein Requestparamet...
Weiterleitung
Diese Aktion leitet an eine andere Seite weiter. Funktionen: Parameter destination die ...
Wert in Session speichern
Alle Request-Parameter mit dem angegebenen Präfix werden in eine Hashmap in der Session geschrie...
XHTML 2 PDF
Liest URLs aus einem Container,einem Request-Parameter oder mit Vorgabe im Action und erstellt d...
Ressourcen & Plugins
Container, Mediendatenbank, Vorlagen, Plugin Newsletter, Zeitsteuerung.
Container
In Containern können Daten (Artikeldaten, Kontaktdaten, Vorgangsdaten usw.) gespeichert und auf ...
Mediendatenbank
Die Mediendatenbank umfasst alle Grafiken und Dokumente, die in den Projekten eines Mandanten dyn...
Plugin Newsletter
Dieses Plugin ist zwar schon etwas älter, wird allerdings noch in vielen Projekten eingesetzt. B...
Ressourcen/Plugins
Im Bereich Ressourcen finden Sie alle Daten, Vorlagen, Aktionen und andere Ressourcen, die Sie f...
Vorlagen
Unter Vorlagen werden alle Daten (Grafiken, Dateien, Scripte u.a.) verstanden, die nicht dynamisc...
Zeitsteuerung
Mit der Zeitsteuerung kann man bestimmte Abläufe zeitlich steuern. Bisher wurde ein einfacher Ti...
Snippets & Rezepte
Fertige Code-Bausteine für häufige Aufgaben.
Action-Parameter anlegen
Es kann sein, daß man innerhalb eines Actions Parameter benötigt, die im Request nicht übergeben...
Blättern (Pagination)
Einfaches Listenblättern sieht so aus: Die Leiste oben und unten kann in Bausteine ausgeglieder...
CSS-Menü
Beispielcode für ein einfaches Menü <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//E...
CSV-Import in Container
Die Daten einer zuvor hochgeladene CSV-Datei werden in einen Container gespeichert. Es ist auch ...
Eingeloggt bleiben
Variante 1 - über Sessiongültigkeit Im Login-Action trägt man im Baustein "Login" im Feld "minim...
Formularversand mit Ajax
Dieses Beispiel veranschaulicht die Möglichkeit Formulardaten mittels jQuery per Ajax versenden....
Google-Sitemap Datei erzeugen
Diese Beispiel realisiert folgende Funktionen: eine dynamische Sitemap im XML-Format generieren...
HTML-Mails für MS-Outlook
E-Mails im HTML-Format benötigen ein sehr spezielles Design, um in Outlook korrekt angezeigt zu ...
Kalender bauen
Benutzt werden die beiden Tags bx:calendarloop und bx:calenderfield <table class="calendar1"> ...
Locale bei Date-Pattern hinzufügen
Projekt auswählen bei Dokumentvorlagen rechts unter Tools auf Quelltext ersetzen klicken in das...
Manipulationsgeschützte Formulare mit Secureform
Vom System generierte Werte in Formularen sind leicht veränderbar. Falls in den Aktionen keine Ü...
Menü mit CSS
Ein CSS-basiertes Menü, das zur Not auch ohne JavaScript funktioniert und beliebig viele Ebenen ...
Passwort vergessen
Nach Drücken von "Paßwort vergessen" wird auf eine Seite geleitet (pwvergessen.htm), wo man die ...
Records – Hilfsklasse für einfaches Filtern
Für die programmatische Erstellung einer Datensatz-Filterung gab es bisher nur die Klasse SQLGen...
Regelmäßiges Neuladen von DIVs
Aufbau der Hauptseite <html> <head> <script type="text/javascript" src="mootools-1.2.js"></scrip...
Sitemap bauen
Einfaches Sitemap, kann noch verschönert werden. Styles .ebene0{ font-weight:bold; text-deco...
Support für „not" hinzufügen
Dieses Beispiel realisiert folgende Funktionen: not für ein Tag emulieren, dass not nicht unter...
Validation
Validation eines Container-Datensatzes Mit einem Aktionsbaustein vom Typ ValidationAction werden...
Websuche
Voraussetzung für ein Funktionieren der Websuche ist eine Indizierung der Seiten, z.B. via Zeits...
Encodings
Zeichenkodierungen und Escape-Funktionen.
Encodings – Übersicht
Bestimmte Tags unterstützen Encodings (Maskierungen) um die Ausgabe in bestimmten Situationen an...
HtmlEncode
Es werden folgende Ersetzungen vorgenommen: Originalwert ausgegebener Wert < < > >...
HtmlMask
Hierbei werden sämtliche Zeichen durch HTML-Entities der Form &#dd; ersetzt, wobei d für eine de...
ScriptEncode
Einige Sonderzeichen und besondere Zeichen werden durch JavaScript Escape-Sequenzen ersetzt. Den...
UrlEncode
Es wird die Java Klasse URLEncoder benutzt. Dabei werden "unsichere" Zeichen durch ein oder mehr...
XmlEncode
Es werden folgende Ersetzungen vorgenommen: Originalwert ausgegebener Wert < < > >...
Groovy
Groovy-Scripting im CMS.
API
eine gekapselte Klasse mit statischen Methoden, die zusammengehörige Funktionalitäten enthältMyA...
Bibliothek – Übersicht
Hier werden wiederverwendbare Code-Schnipsel und Helferlein gesammelt. Diese müssen, falls nicht...
CMS-spezifische Helfer
Bestimmte CMS-Klassen wurden um Utilities zur einfacheren Verwendung erweitert. Importe Einige h...
Groovy Syntax und Beispiele
Nebst den hier am häufigsten genutzten Elementen gibt es noch viele weitere Funktionen und Helfe...
Groovy – Übersicht
Seit Version 2.6.2 ist es möglich die Scriptsprache Groovy im CMS zu verwenden (sowohl in Action...
Logging
Es können logI("text") für INFO-Meldungen etc. verwendet werden. logE kann als zweiter Parameter...
Timings
Zwischendrin immer addTiming("kleine Info was gemacht wurde") aufrufen. Es können auch einzelne ...
Tips
Hier gibt es lose gesammelte Tricks und Kniffe. Bessere Exceptions im Log Um Stacktraces von unn...
Verwendungsmöglichkeiten
Groovy-Code kann in Actions (Actionbaustein "Groovy ausführen") oder in Quelltexten (bx:groovy) ...