Erstellung alternativer Layouts

Hier ein Link zum allgemeinen Konzept der alternativen Layouts, das wir in der Galerie erweitert haben:

http://docs.joomla.org/Layout_Overrides_in_Joomla_1.6#Component_Alternative_Layouts

Im Gegensatz zu Template-Overrides existieren alternative Layouts parallel zu anderen Layouts. Beim Anlegen eines neuen Menüpunktes stehen dann automatisch alle Layouts eines Views zur Auswahl bereit. Dadurch wird es möglich unabhängig vom verwendeten Joomla!-Template verschiedene Layouts für verschiedene Menüpunkte zu verwenden.

Im Konfigurationsmanager der JoomGallery gibt es eine Option, mit der das Standard-Layout ausgewählt werden kann (ansonsten gilt ein alternatives Layout nur für die direkt durch den Menüpunkt aufgerufene Seite und nicht für darin verlinkte). Solche Layout-Auswahlboxen gibt es zum Beispiel auch in den Tabs 'Beiträge' und 'Kategorie' bei den Optionen des Artikelmanagers von Joomla!.

Im oben verlinkten Artikel wird es nicht eindeutig gesagt, aber alternative Layouts müssen nicht im Template abgespeichert werden, sondern können auch direkt in den View-Ordnern der Komponente liegen. Dadurch entstehen zwei weitere Vorteile:

  • Da wir die Ordner der Views kennen und sie nicht vom Template abhängen, ist es möglich Layout-Packages anzubieten, die mit dem Erweiterungstyp 'File' über den Installer von Joomla! ganz einfacher installiert und deinstalliert werden können.
  • Auch für die alternativen Layouts können dann Template-Overrides erstellt werden.

Ist im Galerieansicht-Ordner ein alternatives Layout mit passender XML-Datei (wie im unten angehängten Archiv), taucht im Menümanager eine weitere Option für die Galerie-Ansicht auf (und auch im Konfigurationsmanager).
Gleiches ist möglich für alle anderen Views.

Für die Views, für die ein Menüpunkt existiert, werden dann immer die ausgewählten Layouts verwendet. So kann man den gleichen View über zwei Punkte unterschiedlich darstellen. Das geht aber immer nur für diese Ansicht, alle darin verlinkten Ansichten verwenden das Standard-Layout. Dieses Standard-Layout kann im Konfigurationsmanager ausgewählt werden.

Es ist nicht nötig, dass ein Layout-Package für jeden View ein alternatives Layout bereithält. Wenn das eingestellte Layout für einen View nicht gefunden wird, gibt es automatisch einen Fallback auf das 'default'-Layout.

Außerdem wird automatisch (falls im CSS-Ordner der Galerie vorhanden) eine CSS-Datei mit dem Namen '<Layout>.css' geladen. Ein Layout-Package kann so auch Änderungen am CSS vornehmen.

Für eine geänderte Sprachausgabe versucht die Galerie die Sprachdatei 'com_joomgallery.layout.<Layout>.ini' zu laden. Leider kann man Joomla! nicht so einfach dazu bringen, diese zusätzliche Sprachdatei auch im Menümanager zu laden, weshalb die Layout-Beschreibungen dort leider nicht übersetzbar sind.

Icons können ebenfalls überschrieben werden, indem das Layout-Package den Ordner 'media/joomgallery/images/<Layout>/' anlegt und dort Icons mit dem entsprechenden Namen ablegt. Der 'img'-Tag erhält auch automatisch basierend auf dem Namen des Icons eine indivuelle CSS-Klasse, sodass ein Layout-Package manche Icons auch größer als 16x16px machen kann.

Hier ist ein Beispiel-Layout-Paket, das über den Installer von Joomla! installiert werden kann:

example_layout.zip

Joomla!®

Joomla! ist freie, unter der GNU/GPL-Lizenz veröffentlichte Software. Der Name Joomla! und das Logo werden unter einer limitierten Lizenz durch Open Source Matters als Rechteinhaber in den USA und anderen Staaten vergeben. Joom::Gallery ist weder Mitglied noch Teil des Joomla!-Projekts oder von Open Source Matters.