Gantry Template Framework (Joomla/Wordpress/Gravity) Know-How / Tutorials
Gantry ist eine Template-Framework von RocketTheme. Es liegt aktuell vor in der Version 5. Auch die Version 4 war schon sehr beliebt und verbreitet und wird genau wie Version 5 von RocketTheme in Ihren Templates eingesetzt. Gantry 5 ist als Template-Framework sowohl in Joomla und Wordpress nutzbar und nun auch in dem von RocketTheme entwickelten CMS GRAV bzw. gravity.
Das Framework nutzt viele neue moderne Technologien wie YAML, TWIG, SCSS, Mark Down und auch ein sauberes Override.
- Details
Das Gantry5 YAML-Dateisystem - Datenspeicherung
Wer mit Gantry 5 arbeitet wird früher oder später auf die Frage stoßen, wo das Gantry5-Template seine Konfiguraitonsdaten speichert. Hierbei geht es zum einen um die Daten die beim Konfigurieren des Layouts, der Style und auch der Particle-Inhalte abgelegt werden. In der Datenbank speichert Gantry5 so gut wie gar nichts, maximal die Einstellungen die Joomla als Schnittstelle benötigt, um das Template ins Framework einzubinden. Für alle sonstigen Einstellungen und Daten arbeitet Gantry5 konsequent mit seinem YAML-Dateisystem.
Ein Totalcrash nach SVG-Logo-Speicherung - Grund für notwendige manuelle Dateimanipulation
Ich selbst musste mich mit der Analyse beschäftigen, als ich im Logo-Template des "Base Outline"-Layouts (=Default) mal eine relatives großes SVG als Logo abgelegt hatte (ca. 23KB). Infolge dessen war das komplette Projekt vollst. unerreichbar - sowohl im Backend als auch im Frontend. Es gab keine Möglichkeit mehr das Projekt wieder zum Laufen zu bringen, außer mir die Datei zu suchen, die für die Speicherung dieser Logo-Daten verantwortlich ist und diese manuell zu korrigieren.
- Details
Inhaltsbreiten volle Breite oder mit Seitenrändern zentriert
Mitunter möchte man in einer Gantry-Section das Layout welches ansich durch das Template vorgegeben sein könnte in Ausnahmen für einen bestimmten Inhalt ändern. I.d.R. werden die Inhalte in der Browsermitte mit Rändern links und rechts dargestellt. Wenn man aber z.B. eine Slideshow auf volle Breite ausdehnen möchte oder aber eine Hintergrundbild unter einem Inhalt, wobei der Inhalt dann wieder mit Seitenrändern angezeigt werden soll, dann hilft dafür ganz schnell die Anwendung folgender Gantry-Style-Klassen:
- g-flushed
Damit eine Section über die volle Browserbreite angezeigt wird, muss der Section die Klasse g-flushed zugewiesen werden. Z.B. angewendet bei den Produktbildern in der Slideshow-Section. - section-paddings
Damit die Inhalte dann wieder mit Rand links und rechts angezeigt werden, muss der umschließende Container die Klasse section-paddings erhalten.
- Details
Probleme des Gantry 5 mit den Joomla-Content-Tools
Obwohl das Gantry 5 ein ganz hervorragendes Template-Framework ist, hat es doch (noch) einige kleine Nachteile, die einen z.T. konzeptionelle Schwachstelle offenbaren - nämlich, dass es eine Template mit eigener Engine ist, die viele Dinge an Joomla vorbei erledigt. Eines der größten Probleme bereitet, dass Inhalte nicht mehr in der Datenbank abgelegt werden und auch nicht mehr durch die Joomla-Strukturen verwaltet werden, sondern leider vom Template in Dateien abgelegt werden. Zwei große Nachteil die sich hierbei für mich bereits offenbarten:
- Die Joomla-Suchfunktionen/Search-Plugins greifen für diese Inhalte nicht. Wer also viele Inhalt darüber verwaltet, sollte sich dessen bewußt sein.
- Fast alle bereitgestellten Particle unterstützen nicht die Joomla-Content-Plugins. Das macht sich z.B. bemerkbar wenn Sie Inhalte mit E-Mail-Adressen über Particles veröffentlichen. Diese E-Mail-Adressen werden nicht durch das E-Mail-Cloaking von Joomla erfasst, also nicht vor Spammer-Spidern geschützt. Leider macht dies nicht einmal das bekannte Contact-Particle - was wirklich eine unhaltbarer Zustand ist.
- Auch gibt es Problem mit der Übersetzung von Particle-Inhalten z.B. über die Erweiterung FaLang. FaLang ist nicht darauf ausgelegt sich die zu übersetzenden Inhalte aus den Particle-Dateien zu holen.
Den o.g. Sachverhalten sollte man sich bewusst sein, wenn man Gantry-5-Templates einsetzt. Zumindest zu dem Problem mit dem fehlenden E-Mail-Cloaking im speziellen und der Anwendung von Content-Plugins auf Particle-Inhalte im allgemeinen, möchte ich hier eine praktikable Lösung anbieten, die micht viel Schweiß bis zur erfolgreichen Erkenntnis gegkostet hat.
- Details
Problem: Schwankende Blockhöhen von nebeneinander liegenden Blöcken.
Die Gantry Templates von RocketTheme sind zwar immer sehr schön, vor allem sind immer alle nebeneinander liegenden Block wunderbar gleich hoch. Aber nur solange man sich diese in der Demo anschaut. Sobald man ein lebendes Projekt realisiert, wird man in den Blöcken eben nicht wie in der Demo immer hübsch aufeinander abgestimmt gleich lange Inhalte haben, sondern von wechselnder Textlänge oder Absatzhöhe. Nun flattern die Blöcke in ihrer Höhe, was dem Designer natürlich eine Dorn im Auge ist.
Weiterlesen: Gantry Template - Grid-Blöcke in der Höhe synchronisieren (equal height)
- Details
Beschreibung des Vorhabens
Dieser Beitrag beschreibt, wie man unter dem Joomla-Template Gantry 5 ein bestehendes Particle modifiziert ohne die Core-Scripte zu verändern, also unter Nutzung eines sauberen Overrides, so wie vom Gantry-Framework vorgesehen. Damit bleibt also Gantry trotz eigener Modifikatione updatefähig.
Dazu wollen wir nur eine sehr kleine Änderung beispielhaft durchführen, eine Änderung die bei einigen Particles Sinn macht, weil diese selten HTML-Text ausgeben, sondern diesen meistens als Plaintext liefern. Sobald man aber z.B. Listen (ul/ul) anzeigen will, werden diese nicht wie gewünscht angezeigt sondern HTML-Zeichen umgewandelt (gefiltert) dargestellt.
Für unser Vorhaben wollen wir das Particle OWLCAROUSEL modifizieren. Wenn wir statt dem standardmäßig eingestellten Content-Scoure Particle den Typ Joomla wählen, wird eines der Ausgabeelemente den Joomla-Beschreibungstext verwenden und als Text ausgeben. Genau dieses Feld wollen wir bei unserem Override modifizieren, so dass die Eingabe von HTML-Code möglich ist und dieser so ausgeben wird.
Weiterlesen: Modifikation der Eigenschaften eines Gantry 5 Particles per Overriding