Schreiben Sie alternative Template Layouts

Sie können dieses Kapitel sponsern!

m.a.c. cosmetics eyeshadowAlternative Template Layouts sind eine Möglichkeit für Extension Entwickler den Template Designern und den Benutzern zu helfen. Man müsste weniger Template Overrides erstellen und könnte zwischen verschiedenen Layoutvarianten für Module und Komponenten wählen.

Stellen Sie sich vor, a Komponente würde mit drei unterschiedlichen Layoutvarianten für einen Artikel kommen. manchmal ist es ein 'normaler Artikel', manchmal soll er wie ein Produkt aussehen und manchmal wie eine Buchseite. Oder ein Template würde Ihnen unterschiedliche Layouts für das Anmeldemodul anbieten. Sie hätten dan die Wahl, was Sie benutzen wollen.

Es ist möglich alternative Layouts für

  • Komponenten
  • Kategorien
  • Module

zu erstellen.

Die Vorgehensweise bei der Erstellung der alternativen Layouts ist in allen Fällen gleich.

Beispiel für ein alternatives Layout für ein Moul

Sie können ein oder auch mehrere zusätzliche Layouts für ein Modul erstellen.

Abhängig von Ihren Arbeit können Sie das Layout im Modul oder im Template anbieten.

  • Wenn Sie der Entwickler des Moduls sind, sollten Sie die unterschiedlichen Layouts im View des Moduls speichern (Abbildung 1). Danach können Sie das Layout in den Moduleinstellung auswählen (Abbildung 2).
  • Wenn Sie der Entwickler/Designer eines Templates sind, sollten Sie die die unterschiedlichen Layouts in den Template Overrides Ordner html legen. Dort müssen Sie einen Ordner mit dem Namen des entsprechenden Moduls und einen weiteren für den View erstellen. Es ist der gleiche Ordner, den Sie auch für die Template Overrides benutzen. Natürlich muss der Name anders als default.php sein, denn der ist ja schon für Overrides reserviert. Und vermeiden Sie Unterstriche (_) im Namen. Ich weiss nicht genau warum, aber bei mir hat es mehrfach nicht funktioniert. Danach können Sie das alternative Layout in the Moduleinstellungen auswählen (Abbildung 3).

Sie können sogar den Namen des alternativen Layout, der in der Auswahlliste angezeigt wird, in den Sprachdatei ändern wenn Sie diese Zeile

TPL_BEEZ_20_MOD_LOGIN_LAYOUT_MYBEEZLAYOUT="My Login Layout"

in die Datei /templates/beez_20/language/en-GB/en-GB.tpl_beez_20.sys.ini einfügen, wird der Name  "mybeezlayout.php" zu  "My Login Layout".

Alternative Layout for Module

Abbildung 1: Alternatives Layout im Modulordner

Alternative Layout from Module

Abbildung 2: Alternatives Layout in dem Moduleinstellungen

Alternative Layout from Template

Abbildung 3: Alternatives Layout für eine Module aus dem beez_20 Template

Alternative Menüeinträge

Zusätzlich zu den alternative Layouts können Sie auch Menüeintragstypen zu Ihrem Layout hinzufügen. Die Menueintragsoption kann durch eine xml Datei mit gleichem Namen wie das Layout im gleichen Ordner erstellt werden. Das Vorhandensein einer xml Datei erzeugt einen Menüeintrag für das alternative Layout.

Wenn Sie beispielsweise einen alternativen Menueintrag  "mylayout" für einen Artikel haben wollen, benötigen Sie zwei Dateienim templates/beez_20/html/com_content/article Ordner mit dem Namen mylayout.php und mylayout.xml.

Menüeintrags Layouts haben Vorrag vor alternative Layouts für Komponenten oder Kategorien.

Die XML Datei benutzt das gleiche Format wie die Core xml Dateien. Das ermöglicht Ihnen nicht nur die Erstellung eines neues Layouts für diesen Menüeintrag, Sie können auch noch individuelle Parameter mitgeben, beispielsweise wenn Sie bestimmte Parameter erlauben oder unterdrücken wollen.

Mehr Informationen: