Contao Theme erstellen: Unterschied zwischen den Versionen

Aus VICON-Wiki
Wechseln zu: Navigation, Suche
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 87: Zeile 87:
 
Im Seitenlayout werden jetzt die angelegten Frontend-Module und Stylesheets eingebettet.
 
Im Seitenlayout werden jetzt die angelegten Frontend-Module und Stylesheets eingebettet.
  
<blockquote>'''Tipp:''' Wenn man in das Feld '''Body-Klasse''' den Insert-Tag <code>{{page::alias}}</code> einträgt, hat man für jede Seite eine eindeutige CSS-Klasse für jede Seite, über die spezifische CSS-Regeln nur für eine bestimmte Seite festgelegt werden können.</blockquote>
+
<blockquote>'''Tipp:''' Wenn man in das Feld '''Body-Klasse''' den Insert-Tag <code><nowiki>{{page::alias}}</nowiki></code> einträgt, hat man für jede Seite eine eindeutige CSS-Klasse für jede Seite, über die spezifische CSS-Regeln nur für eine bestimmte Seite festgelegt werden können.</blockquote>
 +
 
 +
 
 +
== Das fertige Theme exportieren/importieren ==
 +
 
 +
Hat man nun das Theme vollständig umgesetzt, kann man es exportieren und in andere Contao-Installationen importieren.
 +
 
 +
[[Datei:Theme-exportieren.jpg]]
 +
 
 +
 
 +
== Hinweise zum Tutorial ==
 +
 
 +
Dieses Tutorial wurde nach Vorlage des Vortrages '''Best Practice: Contao Theme Erstellung''' von Sascha Müller auf der Contao-Konferenz 2015 erstellt.
 +
 
 +
=== Weiterführende Links ===
 +
 
 +
Original Vortragsfolien: [http://vortraege.bytepuzzle.de/ck2015-contao-themes-erstellen/#/step-1]<br />
 +
Video-Mitschnitt zum Vortrag: [https://www.youtube.com/watch?v=B2a9V09gj5Q]
 +
 
 +
--[[Benutzer:Saskia Barre|Saskia Barre]] ([[Benutzer Diskussion:Saskia Barre|Diskussion]]) 16:21, 11. Aug. 2015 (CEST)
  
  
 
[[Kategorie:Tutorials_(Contao)]]
 
[[Kategorie:Tutorials_(Contao)]]

Aktuelle Version vom 11. August 2015, 15:21 Uhr

Grundlagen

Woraus besteht ein Theme?

Wird ein Theme exportiert, erhält man eine komprimierte Datei mit der Endung .cto. Diese lässt sich, ähnlich wie eine Zip-Datei, mit jedem Packprogramm öffnen (z.B. WinRar).

Die Datei enthält folgendes:

  • Datei theme.xml mit Informationen zu
    • Autor, Name des Themes, Vorschaubild, etc.
    • eingebettete Ordner
    • verwendete Module
    • angelegte Layouts
    • angelegte Stylesheets
  • Ordner mit Dateien aus files/Dateisystem
  • Ordner mit Templates


Schritt für Schritt zum eigenen Theme

1. Templates-Ordner erstellen

Im Backend-Modul Themes im Abschnitt Layout muss zunächst ein neuer Ordner angelegt werden.

Templates-ordner-erstellen.jpg


Dieser Ordner sollte die gleiche Benennung erhalten, wie das Theme. Dabei ist darauf zu achten, dass der Ordner keine Leerzeichen, Umlaute oder Sonderzeichen enthält. Außerdem wird Kleinschreibung empfohlen.

Templates-ordner-erstellen2.jpg


In dem Ordner werden künftig alle angepassten Templates abgelegt.


2. Ordner-Struktur in der Dateiverwaltung anlegen

Als nächstes empfielt es sich, die Ordnerstruktur in der Dateiverwaltung anzulegen. Hierbei sollten mindestens 2 neue Ordner angelegt werden:

  • Ordner, der dem Theme zugehörige Dateien enthalten soll
  • Ordner, der Dateien für den Content enthalten soll


In dem Theme-Ordner werden künftig alle Dateien, die zum Theme gehören, abgelegt. Dazu zählen beispielsweise:

  • CSS-Dateien
  • JavaScript-Dateien
  • Fonts
  • Hintergrundbilder
  • Icons


Der Content-Order enthält Dateien, wie

  • Content-Bilder
  • PDF-Dateien
  • Logo

Themes-erstellen-dateiverwaltung.jpg

Der Übersichtlichkeit halber, sollten gleiche Dateitypen in entsprechende Unterordner gelegt werden. Das bedeutet, alle CSS-Dateien werden im Theme-Unterordner css gespeichert, Content-Bilder werden im Content-Unterordner images gespeichert usw.


3. Theme erstellen

Erst jetzt wird das Theme erstellt. Neben den obligatorischen Angaben Theme-Titel und Autor wird im Feld Ordner der zuvor in der Dateiverwaltung angelegte Theme-Ordner sowie im Feld Templates-Ordner der über das BE-Module Templates angelegte Templates-Ordner ausgewählt.

Möchte man die Stylesheets über das Backend-Modul Stylesheets bearbeiten, sollten im Feld Globale Variablen die im Design verwendeten Farben eingetragen werden. Im Stylesheet-Modul kann anschließend auf die einzelnen Variablen zugegriffen werden.

Achtung: Der Schlüssel muss mit dem Zeichen $ beginnen und darf im Fall einer Farbe insgesamt nicht länger als 6 Zeichen sein. Als der hexadezimale RGB-Farbwert wird in das Feld Wert ohne # eingetragen.

Theme-erstellen.jpg


4. Frontend-Module anlegen

Nun werden die benötigten Frontend-Module im Theme angelegt. Um die Liste der angelegten Module möglichst übersichtlich zu halten, sollte über eine sinnvolle Benennung der Module nachgedacht werden. Navgations-Module können bspw. so zusammengefasst werden, indem den Namen immer "nav -" vorangestellt wird. Die Hauptnavigation heißt dann "nav - main", die Meta-Navigation "nav - meta" usw.


5. Stylesheets anlegen

Wenn die CSS-Regeln über das Contao Stylesheet-Modul festgelegt werden sollen, müssen in nächsten Schritt die Stylesheets angelegt werden.

Möchte man stattdessen CSS-Dateien aus dem Theme-Ordner in der Dateiverwaltung einbinden, kann man diesen Schritt überspringen.

6. Seitenlayouts erstellen

Zu guter Letzt werden die Seitenlayouts angelegt. Auch hier ist eine sinnvolle Benennung z.B. nach Gültigkeit oder Spaltenanzahl vorteilhaft.

Im Seitenlayout werden jetzt die angelegten Frontend-Module und Stylesheets eingebettet.

Tipp: Wenn man in das Feld Body-Klasse den Insert-Tag {{page::alias}} einträgt, hat man für jede Seite eine eindeutige CSS-Klasse für jede Seite, über die spezifische CSS-Regeln nur für eine bestimmte Seite festgelegt werden können.


Das fertige Theme exportieren/importieren

Hat man nun das Theme vollständig umgesetzt, kann man es exportieren und in andere Contao-Installationen importieren.

Theme-exportieren.jpg


Hinweise zum Tutorial

Dieses Tutorial wurde nach Vorlage des Vortrages Best Practice: Contao Theme Erstellung von Sascha Müller auf der Contao-Konferenz 2015 erstellt.

Weiterführende Links

Original Vortragsfolien: [1]
Video-Mitschnitt zum Vortrag: [2]

--Saskia Barre (Diskussion) 16:21, 11. Aug. 2015 (CEST)