Gravity

  • 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.

  • Problembeschreibung

    Wer im CMS GRAV (Gravity) Formulare nutzt, wird feststellen, dass diese die Feedbackmeldung i.d.R. an gleicher Stelle ausgeben, wo vorher das auszufüllende Formular war. Hierbei passiert aber ein Seiten-Reload. Infolge dessen beginnt die Seitenanzeige ganz oben. Wenn aber das Formular, bzw. dessen Success-Meldung sehr weit unten ist, dann sieht der Seitennutzer diese Meldung erst wenn er auf Verdacht mal nach unten scrollt. Natürlich machen das viele Nutzer nicht, sondern fragen sich etwas hilflos, ob das Formular korrekt gesendet hat. Es wäre also notwendig, dass nach dem Absenden und dem Seitenreload gleich automatisch zur Erfolgsmeldung gesprungen wird.

     

    Umsetzung im Datail

    Für oben beschriebene Aktion ist das Script user/plugins/gantry5/engines/nucleus/templates/formdata.html.twig verantwortlich. Damit wir dieses GRAV-Core-Script nicht modifizieren müssen, erstellen wir davon eine Override-Kopie im Pfad: user/themes/g5_helium/templates/.

  • Ein paar YAML Form Framework Lösungen

    In diesem nachfolgenden Text habe ich ein paar Problemlösungen zusammengetragen, die mir bei der Arbeit mit YAML-Formularen und der damit erzeugten Feldinhalte untergekommen sind.

     

    Problembeschreibung:

    Z.B. in einigen PHP-basierten CMS wie Joomla, Wordpress, Gravity, Drupal, Magnolia wo z.B. durch das Templateframework Gantry 5 u.a. YAML als Formular Framework verwendet wird, ist das Erstellen von Formularen dank dieser Konfigurationssprache recht einfach. Allerdings kann man manchmal auf Probleme stoßen, bei denen eine Lösungsfindung nicht recht einfach ist. Grund dafür ist, dass die Dokumentation der Markup-Language YAML mit ca 80 Seiten ein Schwergewicht ist und sperrig zu lesen. Ein weiterer Grund ist, dass die Google-Suche nicht immer brauchbar zu Lösungen führt.

    Hier sollen deshalb ein paar kleine Tipps folgen, die das eine oder andere Problem lösen.

    Lösung für das Problem Zeilenumbrüche

    Wenn man in YAML z.B. eine Feldtyp textarea.textarea erstellt und diesem Textfeld eine Default-Wert übergeben möchte der mehrzeilig ist, z.B. weil man zeigen will, dass pro Zeile ein Keyword einzutragen ist, dann kann man nicht einfach in den Default-Text mit Enter arbeiten. Enter erzeugt eine neue Zeile und damit beginn in YAML ein neuer Knoten. Das führt zwangsläufig zu einem Fehler. Lösungen gibt es dazu gleich einige in YMAL. Die einfachste ist den Zeilenumbruch mit \n zu codieren. Das alleine wird aber ignoriert. Damit der YMAL-Interpreter das korrekt auswertet, muss der gesamte String in doppelte Gänsefüsschen gesetzt werden! Keine Hochkommas verwenden!