Joomla: Codes. Erweiterungen, Wissenswertes (Schnipsel)
Chrome / Safari: Unerwünschte Inline-Styles (SPAN) im Editor
Nachdem ich in einem Chrome-Browser einen Beitrag mit dem JCE-Editor fertig hatte, bei dem ich per Copy & Paste Passagen hin und her kopiert hatte, stellte ich fest, dass der HTML-Quelltext mit Inline-Styles der Art <span style="line-height: 1.42857143;">text text</span> zugemüllt war. In einem Firefox-Browser war mir das noch nie passiert, aber der Safari zeigte das selbe nervige Verhalten.
Benutzer sollen ihre Accountdaten nicht ändern dürfen
Artikel ist obsolet/antiquiert!
Zwar kann man in Joomla in den globalen Benutzeroptionen das Ändern des Benutzernamens unterbinden, aber nicht das Ändern des Kennworts. Nachdem die Frage regelmäßig in Foren auftaucht, mir die Lösungen viel zu aufwendig oder "radikal" erscheinen, präsentiere ich hier ein abgespecktes Basisplugin, basierend auf einer Idee von Re:Later, der das mal als Demo für GHSVS programmierte.
Modul Beiträge Kategorie - Weiterlesen nur anzeigen, wenn nötig
Das joomlaeigene Modul mod_articles_category zeigt einen Weiterlesenlink an, auch, wenn schon aller Text im Modul selbst angezeigt wurde und eine Ansicht des kompletten Beitrags eigentlich gar nicht mehr nötig ist. Unter bestimmten Voraussetzungen kann man aber einen simplen Override verwenden, der Weiterlesen nur anzeigt, falls nötig. Am besten gleich als so genanntes alternatives Layout.
In allen DB-Tabellen nach bestimmter Zugriffsebenen-ID (access) suchen
Ich wollte beim Entrümpeln im Backend eines mächtigen Joomlas, viele Inhalte, verschiedene Komponenten, Menüs usw., eine überflüssige User-Zugriffsebene löschen. Ich bekam die Meldung "Fehler: Sie können diese Zugriffsebene nicht löschen, da sie von Inhalten verwendet wird". Ein PHP-Script half beim Finden, weil das Suchen per Filter zu zeitaufwendig oder gar nicht möglich war.
500 - JHtmlBehavior: :mootools not found
Besonders bei Updates von Joomla 2.5 auf höhere Versionen wird man desöfteren von der Fehlermeldung JHtmlBehavior::mootools not found überrascht. Das Problem ist oft nicht, den Fehler mit neuem Code zu reparieren, da gibt es viele Suchtreffer im Netz, sondern die Stelle in den Tausenden Dateien zu finden, wo der Fehler verursacht wird. Bei der Suche können ein paar Zeilen PHP-Code helfen.
Fehlende Bearbeitungs-Icons für Module und Menüs
In einigen nachinstallierten Joomla-Templates, die kein CSS von Bootstrap 2 laden, werden angemeldeten Administratoren die Bearbeitungs-Icons für Menüs und Module nicht angezeigt, obwohl sie "technisch gesehen" vorhanden sind, also das entsprechende JavaScript von Joomla geladen wurde. Man muss eigenes CSS nachreichen, um die Buttons zu erzwingen.
Joomla 3 Templates verstehen - HEAD - Teil1: Basics
Ein Tutorial, das ein Basiswissen liefern soll, wie alles so funktioniert, ungefähr, oder doch nicht und warum eigentlich dann doch irgendwie… Es beschäftigt sich nicht mit CSS, HTML, Modulpositionen etc. eines Template im Detail. Es geht meist um den Template-<HEAD>
-Bereich , in dem z.B. Skripte geladen werden. Aber wie kommen die da hin? Das hier ist ein "Mach-mal-und-probier-dann-selbst-Tutorial".
Joomla 3 Templates verstehen - HEAD - Teil2: Bootstrap Override
Artikel benötigt Überarbeitung!
In diesem zweiten Teil zeige ich wie man bspw. Bootstrap-Dateien, die man joomlakonform eingebunden / geladen hat mit eigenen updatesicher überschreiben kann. Beispielsweise um Joomla 3 von Bootstrap 2 auf 3 aufzurüsten oder das Laden von Bootstrap aus dem Core zu verhindern, indem man einfach leere Override-Dateien anlegt. Wer weiterdenkt. . .
Eigenen Cache-Ordner verwenden statt Joomlas /cache/
Wer im Backend einen Blick in das Menü System > Systeminformationen > Tabulator "Verzeichnisrechte" wirft, findet in einem Standard-Joomla Angaben zu den zwei aktuellen Cache-Ordnern. Normalerweise wird im Frontend der Ordner /cache/
und im Backend das Verzeichnis /administrator/cache/
verwendet (bis Joomla 3). Man kann aber auch seinen eigenen Ordner festlegen.
Joomlaeigene PHP-Konstanten umdefinieren, eigene hinzufügen
Joomla definiert für Coder nützliche PHP-Konstanten (z.B. JPATH_SITE). Im Frontend wird dafür die Core-Datei /includes/defines.php und im Backend /administrator/includes/defines.php geladen. Man kann diese Konstanten updatesicher überschreiben / ersetzen und / oder eigene hinzufügen, um sie im Joomla-Framework überall verfügbar zu haben.
Sprachplatzhalter und Joomla.JText._ in JavaScript
Ähnlich der PHP-Methode
echo JText::_('TPL_BEEZ3_ALTCLOSE');
kann man In Joomla-Javascript mit JText
und Sprachplatzhaltern aus *.ini-Dateien arbeiten. Am Beispiel eines alert
s:
alert(Joomla.JText._('TPL_BEEZ3_ALTCLOSE'));
Aktuelle Icomoon-Font Übersicht CSS-Klassen Joomlas
Joomla 3 bringt für Icons und Symbole eine kostenlose und angepasste Version des IcoMoon-Fonts mit. Das Protostar-Template hat sie z.B. in seiner template.css gebrauchsfertig drin. Man kann via CSS-Klassen Symbole anzeigen. In Joomla kommen immer wieder neue CSS-Klassen dazu, für paar Icons existieren sogar mehrere, die in der IcoMoon-Doku nicht zu finden sind, aber in diesem Beitrag.
Erweiterungen und Schnipsel zum Herunterladen
Joomla-Extensions, -Overrides und -Code-Schnipsel zum Herunterladen. Manchmal begleitend zu Tutorials. Den Download-Link finden Sie am Ende der jeweils beschreibenden Seite.
Leider hinke ich mit der Pflege dieser Seite sehr hinterher. Als ich anfing, gab es noch kein GitHub. Da war ich "bemühter"…
Content-, Bilder-Slider basierend auf Splidejs
Unfertiger Artikel in Arbeit!
Die JavaScript-Bibliothek Splidejs ist eine recht ressourcen-schonende (= "kleine Datei") und gut dokumentiert. Das war der Grund, wenn auch nicht der einzige, warum ich sie für einen Kunden, der nur ein paar Bilder ohne Kokolores im Kopf seiner Seite in einer Modul-Position anzeigen wollte, gewählt habe und in eine Erweiterung für Joomla 4 gepackt habe. Er kann Bilder einfach auswechseln und blieb von