2 Template-Sätze
Gekapselte Funktionalität
Ein Template-Satz bündelt eine Funktion der Website: Templates, Inhaltsbereiche, ggf. Datensätze und Snippets. Beispiele:
| Template-Satz | Inhaltsbereiche | Templates |
|---|---|---|
| News | Meldungen, Rubriken | Übersicht mit Blätterfunktion, Detailseite, Rubrikenseite, Archiv, Teaser für die Startseite, RSS-Feed |
| Veranstaltungen | Termine, Orte | Kalender, Detailseite mit Anfahrt, Terminvorschau |
| Mitgliederbereich | Mitglieder (Profil), Beiträge (UGC) | Registrierung, Bestätigung, Anmeldung, Passwort vergessen, Profil bearbeiten, geschützte Seiten |
| Seitenbaukasten | Seiten, Textblock, Bildblock, Galerie (abhängige Bereiche) | Seite, je Blocktyp ein Baustein |
Ein guter Template-Satz ist direkt betriebsbereit: Importieren, Inhalte eingeben, fertig. Und er ist anpassbar an den individuellen Aufbau einer Website, ohne dass die Funktion neu entwickelt werden muss. Weitergegeben wird er per XML-Export mit der Option „Templates für Import in Fremddatenbank optimieren“ (siehe Handbuch für Administratoren).
Regeln für portable Template-Sätze
Ein Ordner, ein Template-Bereich
Legen Sie die Inhaltsbereiche und den Template-Bereich eines Satzes gemeinsam in einen Ordner. So exportiert ein Klick den ganzen Satz, und beim Import ist klar, was zusammengehört.
Namen und Ids direkt im Befehlsparameter
Templates, Inhaltsbereiche, Datensätze werden in den Templates mittels ihrer ID oder ihres Namens (bzw. Slugs) angesprochen. In einer fremden Datenbank sind diese unter Umständen schon belegt; dann vergibt der Importer neue und passt die Templates daran an. Die Anpassung gelingt aber nur, wenn IDs, Namen, Slugs direkt in den Befehlsparametern stehen. Steht im Parameter eine PHP-Variable, die erst zur Laufzeit ihren Wert enthält, schlägt die Anpassung fehl.
Einheitliche Feldnamen
Für Ihre eigenen Template-Sätze: Verwenden Sie dieselben Feldnamen wie im Rest der Website
(titel, datum, text, bild, slug). Dann funktionieren bereichsübergreifende Listen – etwa eine
Zeitleiste aus News und Terminen – ohne Anpassung, und ein Template-Satz lässt sich
leicht mit bestehenden Bereichen kombinieren.
Für Template-Sätze in anderen Datenbanken: Nutzen Sie die Namens-Präfixe, damit es beim Import nicht zu Typkonflikten kommt (siehe Reservierte Namens-Präfixe).
Logik und Gestaltung trennen
Halten Sie die Logik (Abfragen, Filter, Blätterfunktion, Formularauswertung) in wenigen Templates zusammen und die Gestaltung in eigenen, kleinen Bausteinen:
news_uebersicht (CMS:SELECT news_liste filter[area]=meldungen … count=true)
news_liste (CMS:RESULT_START) (CMS:INCLUDE news_teaser) (CMS:RESULT_END)
(CMS:JUMP_LIST …)
news_teaser <article class="teaser"> … (CMS:TEXT titel) … </article>
Wer den Satz an ein anderes Design anpasst, ändert nur news_teaser und die übrigen
Gestaltungsbausteine; die Funktion bleibt unberührt.
Das Layout der Website einbinden
Verwenden Sie feste Kopf- und Fuß-Templates; diese können einfach durch vorhandene ersetzt werden.
Texte in einem eigenen Inhaltsbereich
Feste Beschriftungen („Weiterlesen“, „Zurück zur Übersicht“, Fehlermeldungen von
Formularen) gehören in einen eigenen Inhaltsbereich (etwa „Beschriftungen“).
Eingebunden werden sie mittels CMS:TEXT, z. B. (CMS:TEXT id=beschriftungen.weiterlesen).
So können sie einfach für die spätere Website angepasst / übersetzt werden.
Label als Custom-Snippets
Um auch Bereichsnamen und Eingabefelder mehrsprachig zu halten, können Custom-Snippets angelegt werden (siehe Modul Snippets). Die im Template-Satz verwendeten Snippets werden automatisch in die Export-Datei integriert.
Einstellungen als Datensatz
Soll die Redaktion das Verhalten eines Satzes steuern – Anzahl der Einträge je Seite, Titel der Übersichtsseite, ein Einleitungstext –, legen Sie dafür einen kleinen Inhaltsbereich „Einstellungen“ mit einem einzigen Datensatz an und lesen ihn über seinen Slug:
(CMS:TEXT einleitung id=news-einstellungen)
(CMS:NUMBER eintraege_je_seite id=news-einstellungen set=limit)
(CMS:SELECT news_liste filter[area]=meldungen limit="{$set['limit']}" count=true)
Beispielinhalte mitliefern
Ein paar Beispiel-Datensätze zeigen nach dem Import sofort, wie der Satz aussieht und funktioniert. Exportieren Sie sie mit, samt Bildern.
Dokumentieren
Legen Sie dem Satz eine kurze Beschreibung bei – als Hinweis des Ordners oder als Datensatz: welche Templates als Standard-Template zuzuweisen sind, welche Layout-Templates erwartet werden, welche Snippets und Konverter der Satz nutzt.
CSS als Template
Binden Sie das benötigte CSS als Template ein – so erscheint der Template-Satz sofort im gewollten Design. Der Nutzer kann das CSS jederzeit in eine Datei auslagern. Beachten Sie jedoch, dass dieses Template gesonderte Header-Anweisungen benötigt, siehe Templates, die CSS, Javascript oder JSON ausliefern.
Einen Template-Satz einsetzen
- Importieren (Modul Inhalte → Startseite → Menü → Import), vorzugsweise zuerst in einer Testumgebung.
- Mit der Vorschau testen – insbesondere Verweise, die das Importprotokoll als „nicht zugeordnet“ meldet.
- Header und Footer anpassen oder durch eigene ersetzen.
- Falls es sich beim Template-Satz um eine ganze Website handelt: Startseiten-Id oder Startseiten-Template in der Instanz eintragen.
- Rechtliche Aspekte klären, ggf. Texte und Lösch-Policies anpassen.
Stand: camindo CMS 9.1.3