Joomla und Erweiterungen (Templates, Komponenten, Plugins, Module)
Wissenswertes, Anleitungen, Workarounds, Bugfixes zu Joomla und Joomla-Erweiterungen
- Details
Problem / Aufgabenstellung: PDF in Jooml-Beiträge einbinden/verlinken
Um PDF als Download in eine Joomla-Beitrag oder in das Custom-Modul einzubinden gibt es verschiedenen Möglichkeiten. Eine oft Verwendete Lösung ist Phoca-Download. Aber diese ist eine komplexe allumfängliche Komponente und zielt vor allem auf Anwender ab, die umfangreiche Download-Repositories bereitstellen wollen. Für viele geringere Ansprüche ist es zu viel Funktionsumfang.
In meinen Kundenprojekten habe ich bis Joomla 3.x für einfache Fälle immer die Erweiterung "Attachments" von Jonathan M. Cameron eingesetzt. Damit war es sehr einfach möglich ein PDF an oder in einen Beitrag anzufügen. Leider wird diese Erweiterung von Jonathan nicht mehr supportet und war eigentlich schon für Joomla 3 code-technisch nicht auf der Höhe der notwendigen Kompatibiltät. Hier ist also nichts für Joomla 4 zu erwarten.
Wie kann man trotzdem einfach PDF-Download-Links einbinden, ohne Kosten für Erweiterungen?
Weiterlesen: PDF-Download-Links in Joomla-Beiträge oder Module einfach einbinden
- Details
Problembeschreibung ZIP-Upload per MediaManager
Für einen Importfilter innerhalb eine Joomla-Projektes wollte ich dem Kunden über den MediaManager die Möglichkeit zur Verfügung stellen, ZIP-Archive hochzuladen. Dabei zeigte sich ein fast unlösbares Problem. Während z.B. Archive vom Typ GZ oder 7Z unproblematisch hochgeladen werden konnten, gelang das mit unter Windows erstellten ZIP-Archiven einfach nicht. Kontinuierlich erhielt ich beim Uploadversuch die Fehlermeldung:
Fehler
Ursachensuche und gescheiterte Workarounds
Die Ursachensuche gestaltete sich aufwändig. Natürlich hatte ich zunächst vermutet, dass es an den Optionen des MediaManagers liegt. Deshalb hatte ich in die Erlaubten Dateiendungen zip,ZIP, etc. hinzugefügt. Auch in die zu ignorierenden Dateiendungen ZIP,zip einzutragen war keine Lösung. In das Feld Erlaubte Dateitypen (MIME): habe ich dann noch probiert die Liste zu erweitern durch folgende Einträge: application/x-zip,application/x-gzip,application/zip,application/x-7z-compressed,application/x-zip-compressed,application/octed-stream.
Das sind zwar alles Maßnahmen, die nicht unwichtig sind, damit es überhaupt funktionieren kann, aber der Fehler blieb.
Weiterlesen: Wenn der ZIP-Upload im Joomla-MediaManager scheitert
- Details
Problembeschreibung
Manche Komponenten in Joomla nutzen MooTools, andere und mittlerweile das Joomla selbst verwenden jQuery. Es kann passieren, dass beide JavaScript-Frameworks geladen werden. Das führt jedoch häufig zu Konflikten, weil beide Frameworks den Kurzbezeichner $ verwenden um angesprochen zu werden. Grundsätzlich ist das in Joomla längst kein Problem mehr, selbst dann wenn man beide Frameworks gleichzeitig nutzen will. Zum einen ist gebräuchlich eine jQuery-Methode namen noConflict() einzubinden und zu nutzen. Zum anderene ist es notwendig diese dazu in der korrekten Reihenfolge zu laden. Dies verhindert Konflikte im gleichen Namensraum.
Aber darum muss sich nicht jede Komponente oder der Webmaster der Seite mehr selbst kümmern. Dafür hat Joomla schon diverse Methoden zur Verfügung gestellt, die das korrekte Handling sicherstellen. Wichtig ist nur, dass die Komponte, die z.B. jQuery verwenden will, zur Sicherheit diese Joomla-Methoden verwendet - zum einen das Einbinden der Frameworks über die Klasse JHtml::_(...) und zum anderen die evtl. notw. Reihenfolge und Konfliktvermeidung JHtml::_('behavior.framework', true);.
- Details
Problembeschreibung
Es gibt zwar für das Joomla-Module Fancy TagCloud viele Konfigurationsmöglichkeiten, aber leider ist darüber nicht alles vollständig konfigurierbar. Im Zuge der Umstellung von Projekten auf DSGVO-Konformität bestand ein Bemühen darin, den Zugriff des Projektes auf externe Ressourcen wir z.B. Fonts vom Google-Font-Server zu verhindern. Fancy TagCloud hat diese Einbindung von Fonts fest in Scripte verankert. Es ist nicht konfigurierbar lokale Fonts zu verwenden. Da die Style-Anweisungen auch aus PHP-Scripten kommen, ist es schwer zu verhindern, dass die Fonts von Fremdservern geladen werden. Die einzig Chance bestand darin das Theme-Script anzupassen in dem diese Fonts von googleapis.com geladen werden.
Lösung
Immerhin bietet Fancy TagCloud die Möglichkeit an im Modul wahlweise alternative Themes zu laden. Zwar wird nur ein einziges im Installationspaket mitgeliefert, aber es ist doch recht einfach daraus weitere Themes zu abzuleiten. In diesem eigenen Theme kann man dann seine gewünschten Modifikationen vornehmen ohne Angst haben zu müssen, dass durch ein Update des Modules diese Modifikationen überschrieben werden würden.
Dazu sind zwei Schritte notwendig:
Weiterlesen: Für das Joomla Fancy TagCloud-Module eigene Themes erstellen
- Details
Eines der Kriterien für eine gutes Suchmaschinenranking und eine positive Nutzererfahrung ist die Geschwindigkeit mit der Seiten geladen werden. Neben dem rein subjektiven Eindruck gibt es auch Webservices, mit denen man objektive Tests durchführen kann. Eine Seite ist z.B. der PageSpeed-Test der Google-Deverloper-Seiten. Hier werden neben einer Bewertung auch Maßnahmen zur Beschleunigung vorgeschlagen.
Für einen Seitenbetreiber eines Joomla-Projektes stellt sich nun also die Frage, wie man die eigene Seite schneller machen kann. Dazu möchte ich nachfolgend ein paar Maßnahmen ausführen.
Weiterlesen: Maßnahmen zur Beschleunigung von Joomla-Projekten