In ConPresso werden Inhalte und Design voneinander getrennt. Das Erscheinungsbild von Artikeln wird daher über Formatvorlagen, die Templates, bestimmt. Zum überwiegenden Teil bestehen die Templates aus HTML-Code. Um sie zu erstellen oder zu bearbeiten, ist deshalb ein gewisses Maß an HTML-Kenntnissen erforderlich. Das Erlernen einer komplexen, zusätzlichen Template-Scriptsprache ist bei ConPresso jedoch nicht nötig.
Ergänzt wird der HTML-Code des Artikeltemplates ausschließlich durch so genannte Platzhalter, die im Moment der Ausgabe eines Artikels dynamisch mit den Inhalten gefüllt werden, die ein Benutzer zuvor erfasst hat. ConPresso-Platzhalter bestimmen darüber hinaus, welche Eingabemöglichkeiten bei der Erfassung oder Bearbeitung eines Artikels verfügbar sind.
Im Folgenden erhalten Sie alle wichtigen Informationen zum Aufbau von Platzhaltern und den vorhandenen Platzhalter-Typen. Bei der eigentlichen Erstellung eines Artikeltemplates (siehe Abschnitt 2, "Artikeltemplate erstellen") und der Einbindung von Platzhaltern in den Formatierungscode eines Artikeltemplates unterstützt Sie später der „Template-Editor“.
Ein ConPresso-Platzhalter besteht grundsätzlich mindestens aus einem "Typ" und einem "Namen". Der Aufbau eines Platzhalters folgt dem Schema: <!-- Typ: Name -->
Platzhalter werden in ConPresso in Form eines HTML-Kommentars geschrieben. Dies hat den Vorteil, dass ein fehlerhafter Platzhalter-Tag als Kommentar im generierten Ausgabecode ausgegeben wird und damit im Frontend des Projekts für den Betrachter nicht direkt als Fehler sichtbar ist.
Alle Platzhalter liefern bei ihrer Ausgabe im Frontend per Default korrektes XHTML zurück.
ConPresso stellt verschiedene Typen von Platzhaltern bereit, die der Ein- und Ausgabe unterschiedlicher Inhaltsformen dienen. Hierzu gehören u.a. Platzhalter für Texte, Bilder oder Dateien.
ConPresso unterstützt in der Grundform die folgenden Platzhalter:
Bild-Platzhalter (Platzhalter vom Typ "Image"), siehe dazu Abschnitt 1.5, "Bild-Platzhalter (Platzhalter vom Typ "Image")"
Datei-Platzhalter (Platzhalter vom Typ "File"), siehe dazu Abschnitt 1.6, "Datei-Platzhalter (Platzhalter vom Typ "File")"
Einfache-Text-Platzhalter (Platzhalter vom Typ "Text"), siehe dazu Abschnitt 1.7, "Einfache Text-Platzhalter (Platzhalter vom Typ "Text")"
HTML-Platzhalter (Platzhalter vom Typ "HTML"), siehe dazu Abschnitt 1.8, "HTML-Platzhalter (Platzhalter vom Typ "HTML")"
Link-Platzhalter (Platzhalter vom Typ "Link"), siehe dazu Abschnitt 1.9, "Link-Platzhalter (Platzhalter vom Typ "URL")"
Value-Platzhalter, siehe dazu Abschnitt 1.10, "Value-Platzhalter"
Weiterhin sind Platzhalter für die "Bedingte Ausgabe" von Inhalten vorhanden. Diese erlauben es, Teile des Artikeltemplates nur dann auszugeben bzw. abzuarbeiten, wenn der dazugehörige Platzhalter entweder leer oder mit Inhalt gefüllt ist:
Bei einigen der nachfolgend aufgezählten Platzhaltertypen wird in der Beschreibung das Stichwort "Entity-Umwandlung" benutzt. Dieses Stichwort bedeutet, dass vor der Ausgabe des jeweilgen Inhalts Sonderzeichen in ihre HTML-Entities umgewandelt werden (Bsp.: ">" wird zu ">", usw.).
![]() | Anmerkung |
---|---|
Die oben genannten Platzhalter können z.B. durch Module erweitert werden. Sollte ein Modul neue Platzhalter oder zusätzliche Optionen für bestehende Platzhalter bereitstellen, entnehmen Sie die notwendigen Informationen bitte der Dokumentation des entsprechenden Moduls. |
Der Name eines Platzhalters dient dazu, diesen eindeutig zu identifizieren. Er wird bei der Artikeleingabe als "Bezeichnung" neben den Eingabefeldern angezeigt. Der Name eines Platzhalters kann frei gewählt werden.
Zusätzlich können zu Platzhaltern weitere Optionen angegeben werden. Diese werden durch ";" getrennt hinter dem Namen angegeben.
Selbstverständlich können auch mehrere Optionen nacheinander angegeben werden. Die einzelnen Optionen werden durch ";" getrennt:
Optionen können in zwei Formen vorkommen:
als reiner "Schalter" (also "an" bzw. "aus"): "Option" oder
mit einer Wert-Vorgabe: "Option=Wert"
Über die Optionen wird hauptsächlich die Verarbeitung der Platzhalter bei deren Ausgabe gesteuert. Andere Einstellungen, die die Eingabe eines Platzhalters betreffen, können wie unter „Platzhaltereigenschaften bearbeiten“ beschrieben bearbeitet werden.
Da die Verwendung von Optionen vom Typ eines Platzhalters abhängig ist, entnehmen Sie die genaue Beschreibung der jeweils möglichen Optionen bitte der Beschreibung der Platzhaltertypen.
Platzhalter vom Typ "Image" ermöglichen die Einbindung von Bildern in einen ConPresso-Artikel.
Wird in einem Artikeltemplate ein Platzhalter von Typ "Image" verwendet, so kann der redaktionell arbeitende Benutzer bei der Artikelerstellung bzw. -bearbeitung pro Bild-Platzhalter jeweils ein Bild auswählen. Dieses Bild muss zuvor hochgeladen und für die Rubrik verfügbar gemacht worden sein, wie in Abschnitt 1, "Dateien hochladen" beschrieben.
Beispiel 11.1. Ausgabe (HTML-Code) ohne Optionen
<img src="../_data/Dateiname" alt="Alttext" title="Beschreibung" width="Breite" height="Hoehe" />
Beispiel 11.2. Beispiele
Ohne Optionen: <!-- Image: ein Bild; --> Dateiname: <!-- Image: ein Bild; file --> Alttext: <!-- Image: ein Bild; alttext --> Bildbreite: <!-- Image: ein Bild; width --> Bildhöhe: <!-- Image: ein Bild; height --> Beschreibung: <!-- Image: ein Bild; description -->
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.
Platzhalter vom Typ "File" ermöglichen die Einbindung von Dateien in einem ConPresso-Artikel.
Wird in einem Artikeltemplate ein Platzhalter von Typ "File" verwendet, so kann der redaktionell arbeitende Benutzer bei der Artikelerstellung bzw. -bearbeitung pro Datei-Platzhalter jeweils eine Datei auswählen. Diese Datei muss zuvor hochgeladen und für die Rubrik verfügbar gemacht worden sein, wie in Abschnitt 1, "Dateien hochladen" beschrieben.
Beispiel 11.3. Ausgabe (HTML-Code) ohne Optionen
<a href="../_data/Dateiname">Beschreibung [Dateigröße]</a>
Die Dateigröße wird "human readable" - also "menschenlesbar" ausgegeben (z.B. 128Kb).
Beispiel 11.4. Beispiele
Ohne Optionen: <!-- File: eine Datei --> Dateiname: <!-- File: eine Datei; file --> Dateigröße I (human readable): <!-- File: eine Datei; hrsize --> Dateigröße II (Bytes): <!-- File: eine Datei; size --> Beschreibung: <!-- File: eine Datei; description -->
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.
Platzhalter vom Typ "Text" ermöglichen die Eingabe einfacher, wenig formatierter Texte in einen ConPresso-Artikel.
Sie erzeugen bei der Artikeleingabe einfache Textfelder, so genannte Textareas. Erstellt oder bearbeitet ein redaktionell arbeitender Benutzer den Inhalt eines solchen Textfelds in einem Artikel, so steht ihm dabei nicht der ConPresso-WYSIWYG-Eitor zur Verfügung, der umfangreiche Formatierungen erlauben würde. Platzhalter vom Typ "Text" eignen sich daher besonders dazu, redaktionell arbeitenden Benutzern keine Möglichkeiten zu HTML-Formatierungen (z.B. fett, unterstreichen oder die Verwendung von Farben und Tabellen) zu geben. Damit ist durch die Verwendung einfacher Text-Platzhalter eine striktere Einhaltung der vorgegebenen Formatierungen und des Designs der Seite gewährleistet, als dies bei der Verwendung von Platzhaltern des Typs "HTML" der Fall wäre.
HTML-Sonderzeichen werden bei der Ausgabe in Entities umgewandelt.
Beispiel 11.6. Beispiele
Ohne Optionen: <!-- Text: ein Text --> HTML-Tags entfernt: <!-- Text: ein Text; strip_tags --> Zeilenumbrüche als <br />: <!-- Text: ein Text; nl2br --> Kombiniert: <!-- Text: ein Text; striptags; nl2br -->
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.
Platzhalter vom Typ "HTML" ermöglichen die Eingabe HTML-formatierter Texte in einen ConPresso-Artikel, sofern der verwendete Browser dafür ausgelegt ist.
HTML-Platzhalter erlauben bei der Artikelerstellung oder -bearbeitung die Benutzung des ConPresso-WYSIWYG-Editors, mit dem Inhalte wie mit einem Textverarbeitungprogramm bearbeitet werden können. Redaktionell arbeitende Benutzer haben über den WYSIWYG-Editor weitreichende Möglichkeiten Formatierungen in Texten vorzunehmen. So können beispielsweise Bilder, Tabellen oder Links in den Text eingebunden werden und die Textformatierung (fett, unterstrichen, Textfarbe, etc.) nach Belieben gewählt werden.
Über das Umschalten in den HTML-Modus kann bei der Artikelerstellung der HTML-Code auch direkt editiert werden.
strip_tags | HTML-Tags werden vor der Ausgabe aus dem Text entfernt. |
htmlspecialchars | HTML-Sonderzeichen werden vor der Ausgabe in Entities umgewandelt. |
Beispiel 11.8. Beispiele
Ohne Optionen: <!-- HTML: HTML --> HTML-Tags entfernt: <!-- HTML: HTML; strip_tags --> HTML-Entities: <!-- HTML: HTML; htmlspecialchars --> Kombiniert: <!-- HTML: HTML; strip_tags; htmlspecialchars -->
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.
Platzhalter vom Typ "URL" ermöglichen die Einbindung von Links in einen ConPresso-Artikel.
Im Verweistext werden HTML-Sonderzeichen durch Entities ersetzt.
Beispiel 11.10. Beispiele
Ohne Optionen: <!-- URL: eine URL --> Nur Starttag: <!-- URL: eine URL; starttag -->Anderer Text</a> URL: <!-- URL: eine URL; url --> Verweistext: <!-- URL: eine URL; text --> Nur das Target: <!-- URL: eine URL; target --> Ohne HTML-Code: <!-- URL: eine URL; strip_tags --> Sonderfälle (mit obigen Beispielen kombinierbar): Zurück-Link: <!-- URL: eine Zurueck-URL; back --> Zur Artikelseite: <!-- URL: eine Weiter-URL; more --> Zur Artikelseite (kombiniert mit starttag): <!-- URL: eine Weiter-URL; more; starttag -->anderer Text</a>
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.
Value-Platzhalter werden von ConPresso zu jedem Artikel automatisch bereitgestellt. Sie unterscheiden sich hinsichtlich ihres Aufbaus nicht von anderen Platzhaltern, doch statt des sonst frei wählbaren Platzhalternamens sind bei Value-Platzhaltern definierte Werte anzugeben (Beispiel: <!-- Value: Author -->).
Value-Platzhalter können nur zur Ausgabe von Informationen, z.B. von Metadaten wie Titel, Autor, etc. benutzt werden. Eine direkte Eingabe von Inhalten bei der Artikelerstellung ist im Falle dieser Platzhalter also nicht möglich.
Auch Value-Platzhalter können mit Unterstützung des „Template-Editor“ in den Formatierungscode des Artikeltemplates eingefügt werden.
ConPresso kennt die folgenden Value-Platzhalter:
Der Value-Platzhalter "title" dient der Ausgabe des Titels eines Artikels.
Der Value-Platzhalter "author" gibt Daten zu dem Autor des Artikels aus.
name | Es wird nur der Name des Autors ausgegeben. |
Es wird nur die eMail-Adresse des Autors ausgegeben. | |
initials | Es werden nur die Initialen des Autors ausgegeben. |
Beispiel 11.14. Beispiele
Autor: <!-- Value: author --><br /> Autorname: <!-- Value: author; name --><br /> Autormail: <!-- Value: author; email --><br /> Initialen: <!-- Value: author; initials --><br />
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.
Der Value-Platzhalter "editor" gibt Daten zu dem letzten Bearbeiter des Artikels aus.
Beispiel 11.15. Ausgabe (HTML-Code) ohne Optionen
<a href="mailto:Autor-eMail">Zuletzt bearbeitet von</a>
name | Es wird nur der Name ausgegeben. |
Es wird nur die eMail-Adresse ausgegeben. | |
initials | Es werden nur die Initialen ausgegeben. |
Beispiel 11.16. Beispiele
Zuletzt bearbeitet von: <!-- Value: editor --><br /> Name: <!-- Value: editor; name --><br /> Mail: <!-- Value: editor; email --><br /> Initialen: <!-- Value: editor; initials --><br />
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.
Der Value-Platzhalter "pub_date" gibt das Publikationsdatum eines Artikels formatiert mit dem Datumsformat aus den Rubrikeinstellungen aus.
Die Formatierung ist abhängig von den in den Rubrikeinstellungen gesetzten Einstellungen.
timestamp | Gibt das Publikationsdatum als UNIX-Timestamp aus. |
format | Mit der Option "format" kann das Format der Datumsausgabe geändert werden. Möglich sind die Formatierungen, die in Anhang A, PHP-Datumsformatierung beschrieben werden. |
Beispiel 11.18. Beispiele
Publikationsdatum: <!-- Value: pub_date --><br /> Publikationsdatum: <!-- Value: pub_date; timestamp --> (Unix-Timestamp)<br /> Publikationsdatum - Swatch-Time: <!-- Value: pub_date; format=B --> <br />
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.
Der Value-Platzhalter "exp_date" gibt das Verfallsdatum eines Artikels formatiert mit dem Datumsformat aus den Rubrikeinstellungen aus.
Die Formatierung ist abhängig von den in den Rubrikeinstellungen gesetzten Einstellungen.
timestamp | Gibt das Publikationsdatum als UNIX-Timestamp aus. |
format | Mit der Option "format" kann das Format der Datumsausgabe geändert werden. Möglich sind die Formatierungen, die in Anhang A, PHP-Datumsformatierung beschrieben werden. |
Beispiel 11.20. Beispiele
Verfallsdatum: <!-- Value: exp_date --><br /> Verfallsdatum: <!-- Value: exp_date; timestamp --> (Unix-Timestamp)<br /> Verfallsdatum - Swatch-Time: <!-- Value: exp_date; format=B --> <br />
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.
Der Value-Platzhalter "articlenr" gibt die Nummer eines Artikels aus, die automatisch und in der Erstellungsreihenfolge vergeben wird.
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.
Der Value-Platzhalter "template" gibt die Templatenummer des Artikels aus, die automatisch und in der Erstellungsreihenfolge vergeben wird.
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.
Der Value-Platzhalter "articleidx" gibt den Sortierungsindex eines Artikels aus.
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.
Der Value-Platzhalter "rubric" erlaubt es auf verschiedene Daten der dem Artikel zugeordneten Rubrik zuzugreifen.
Beispiel 11.27. Ausgabe (HTML-Code) ohne Optionen
<a href="../rubrikverzeichnis/index.php?rubric=rubrikname">Rubriktitel</a>
Beispiel 11.28. Beispiel
Die Rubrik des Artikels: <!-- VALUE: rubric; --> Die ID der Rubrik des Artikels: <!-- VALUE: rubric; id; --> Das Verzeichnis der Rubrik des Artikels: <!-- VALUE: rubric; directory; --> Der Name der Rubrik des Artikels: <!-- VALUE: rubric; name; --> Der Titel der Rubrik des Artikels: <!-- VALUE: rubric; title-->
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.
Um Inhalte abhängig davon auszugeben, ob ein bestimmter Platzhalter in einem Artikel Daten enthält oder nicht, stehen in ConPresso die beiden folgenden Tag-Paare zur Verfügung.
<!-- ifSet: Name --> <!-- /ifSet -->
<!-- ifNotSet: Name --> <!-- /ifNotSet -->
"Name" steht hierbei für den Namen des Platzhalters, auf den sich der ifSet- bzw. der ifNotSet-Platzhalter bezieht.
Beispiel 11.29. Beispiele
<!-- ifSet: ein Text -->Oben wurde ein Text ausgegeben!<br /><!-- /ifSet -->
<!-- ifSet: Artikeltext --><!-- URL: Weiter-Link; more --><!-- /ifSet -->
Diese Platzhalter arbeiten unabhängig davon, ob sie auf der Rubrik-Ausgabeseite oder der Artikel-Ausgabeseite Verwendung finden. Es ist also beispielsweise möglich (und auch sinnvoll!), das Erscheinen eines Weiter-Links auf der Rubrik-Ausgabeseite davon abhängig zu machen, ob ein bestimmter Inhalt (z.B. Text) auf der Artikel-Ausgabeseite angezeigt wird.
![]() | Achtung |
---|---|
Platzhalter für bedingte Ausgaben dürfen nicht geschachtelt werden. |
Das bei der ConPresso-Installation angelegte Artikeltemplate "Platzhalter Demo" enthält alle Verwendungsmöglichkeiten von ConPresso-Platzhaltern.