Joomla: Codes. Erweiterungen, Wissenswertes (Schnipsel)
Venobox in Joomla: Integration via JHtml-Helper
Die Stärke der Venobox, einer JavaScript-Lightbox für Bild-Pop-Ups, ist, dass sie die Bildgröße nur an die Breite des Viewports anpasst. Wenn das Bild höher als der Darstellungsbereich ist, kann man es vertikal scrollen. Die Simple Image Gallery Extended von Kubik Rubik verwendet sie zum Beispiel. Mein Plugin hat einen anderen Ansatz. Es hilft, die Venobox in eigenem Joomla-Code zu nutzen/konfigurieren.
Joomla: Browser-Infos mit "Hausmitteln" abfragen
Will man wissen, welchen Browser und Version (und weitere Infos) ein Besucher nutzt und vielleicht Browser-Weichen in den PHP-Code einprogrammieren, dann kann Joomla helfen. Die Detektion ist längst nicht perfekt (Vivaldi wird beispielsweise als Chrome erkannt), jedoch vollkommen ausreichend für Grobes und Alltägliches. Wer mehr will, muss halt so was integrieren und verwenden: hisorange / browser-detect
Joomla: Code-Syntax-Highlighting in Beiträgen
Artikel ist obsolet/antiquiert!
Syntax-Hervorhebung oder -Highlighting meint, bestimmte Wörter und Variablen-Arten eines Programm-Codes je nach Bedeutung in verschiedenen Farben lesbarer darzustellen. Viele Editoren, die Programmierer nutzen, unterstützen Code-Hervorhebung und variieren die Darstellung je nach Programmier-Sprache. Das Plugin SyntaxHighlighterGhsvs hilft beim Anzeigen von "gehighlightetem Code" in Joomla-Beiträgen.
Silbentrennung mit Joomla für "hyphens-doofe" Browser
Eine Kundin liebt Blocksatz. Das sieht schön gleichmäßig aus so lange die Bildschirmbreite mitspielt. Ab irgendeinem Punkt stören Riesenabstände zwischen Worten oder verwaiste Worte den Lesefluss. Da hilft es Silbentrennung per CSS3-Eigenschaft hyphens zu aktivieren, was jedoch nicht alle Browser unterstützen. Das Plugin HyphenateGhsvs schafft Abhilfe.
Menütyp Menüeintrags-Alias. Zurück zum Zeit-Stempel, Joomla!
Seit Joomla Version 3.6.0 hat sich beim Speichern eines Menüeintrags vom Typ Menüeintrags-Alias die Art und Weise geändert wie der automatisch erstellte Alias des Menüpunktes gebaut wird. Früher war der Alias ein Zeitstempel der Art 2016-08-01-16-33-01. Jetzt generiert Joomla, wie in allen andern Situationen auch, den Alias aus der Eingabe im Feld Titel. Der Eine find's gut, ein Anderer ist genervt.
Eigene JForm-Felder. Typ-Konflikte in Joomla-Formularen
In Joomla kann man eigene Formularfelder programmieren und mittels addfieldpath in JForm-XML-Dateien bekannt machen. Alternativ geht das in PHP mit JForm::addFieldPath(…). Was aber, wenn man für das eigene Feld einen Namen (Typ, type) verwendet, den Joomla schon verwendet oder eine andere zuinstallierte Erweiterung? Joomla wird das Formularfeld anzeigen, das es zuerst findet. Vielleicht das falsche.
Joomla: active-Klasse für Menüüberschrift / Trennzeichen
Für Touchscreens sollte man Menüpunkte nicht verlinken, die ein Dropdown mit Untermenüs öffnen. Beim Tippen öffnet sich sonst der getippte Link statt des Dropdownmenüs, wenn man keine unhandlichen Maßnahmen getroffen hat. In Joomla verwendet man dafür unverlinkte Menüeintragstypen Menüüberschrift oder Trennzeichen. Leider bekommen die aber keine active-CSS-Klasse, wenn Untermenüpunkte aktiv/geöffnet sind.
http? https? Aktuelles URL-Protokoll in Joomla ermitteln
Nach teils Umstellung eines Joomlas auf SSL (https) entdeckte ich ein altes Modul, das für einen internen Link hartkodiert http einsetzte. Kein Problem, da man ja einfach auf https umschreiben kann. Funktioniert mit beiden Protokollen ohne Browserwarnung. Da das Modul auch in Joomlas ohne SSL läuft, dann doch besser, das Scheme dynamisch zu ermitteln. Geht mit einem kleinen Schnipsel.
Böser Joomla-Notfall-Hack: configuration.php auslesen
Eine alte Joomla 2.5.22 lief zwar noch, Backend noch erreichbar, aber FTP-Zugang war kaputt. Wenigstens die Datenbank sollte gerettet werden, aber Passwort für phpMyAdmin unbekannt. Nachdem die Seite eh mehr oder weniger futsch war, darf man sie auch selber hacken, um die Datenbank-Passwörter aus der configuration.php zu holen. Ausbaubare Grundidee.
JForm-Formularfeld: Rekursive Ordnerliste für Joomla
Im Unterschied zum Joomla-Standard-Formularfeld folderlist, das die 1. Ordnerebene eines Verzeichnisses anzeigt und in den values der OPTIONs keinen Pfad enthält, hat folderlistghsvs 3 neue Attribute, um tieferliegende Ordner anzuzeigen und/oder die Pfade mitzuspeichern, je nach Kombination der volle, absolute Pfad oder ab Joomlaverzeichnis.
Templatestile-Bearbeitung: CSS, JS nachladen (JForm-Feld)
Wenn man ein eigenes Template entwickelt hat, will man vielleicht in den Einstellungen für die Templatestile im Backend die Optik etwas aufpeppen, um sich von anderen Templates abzusetzen, oder braucht einen JavaScript-Schnipsel für dieses oder jenes. Wie man das Nachladen von (nicht nur) CSS und JS mit einem eigenen JForm-Formularfeld einfach hinkriegt, zeigt dieses Crash-Tutorial.
Javascript und CSS minifizieren in Joomla
Artikel ist obsolet/antiquiert!
Minifiziert JS- und CSS-Files nicht on-the-fly, wenn die Webseite geladen wird, sondern ist ein Helferlein, das man im Joomla-Backend bei Bedarf startet. Man kann beliebig viele Quelldateien eintragen und optional für jede eine komprimierte Ausgabedatei in beliebigem Joomla-Ordner festlegen. Welche der hinterlegten Dateien im aktuellen Lauf minifiziert werden sollen, lässt sich auswählen.
Aktuelle Jahreszeit / aktuellen Datumsbereich bestimmen, um z.B. ein Bild zu wechseln
Während des Frühlings, Sommers, Herbst und Winters soll die Webseite optisch variiert werden. Oder innerhalb anderer selbst definierter Datums-Intervalle. Ein kurzes Joomla-Script hilft bei der Ermittlung der zugehörigen Periode anhand des aktuellen Datums. Am Beispiel eines Bildes, das ausgetauscht werden soll. Kann aber auch für Farb-Wechsel und anderes verwendet werden.
Im Backend Suchwerkzeuge (Filter) immer eingeblendet halten
Mich nerven die Suchwerkzeuge im Backend. Weil sie immer verschwinden, wenn in den Filterboxen nichts ausgewählt ist oder, wenn man auf Zurücksetzen klickt. Diese wiederholte Klickerei, um sie wieder anzuzeigen kann man mit einem Joomla-Layout-Override abschaffen und den Suchwerkzeugebutton zugleich verstecken. Der Override wird für das ganze Backend mit Isis-Template angelegt.
Joomla-Modul Zufallsbild: Bildwechsel nach Datumsangabe
Das joomlaeigene Modul Zufallsbild (mod_random_image) zeigt ein einzelnes Bild aus einem Ordner an. Wie der Name schon sagt, zufällig irgendeins. Mit einem einfach zu erstellenden Template-Override kann man es dazu bewegen tageweise (nach Datum) ein bestimmtes Bild anzuzeigen oder nach Kalendertag, Tag des Monats, Tag des Jahres, nach Monat usw. usf..
Backend-Modul: Neuen Browser-Tab öffnen
In Browsern kann man bei Klick auf einen Link bei gleichzeitigem Halten der Taste STRG das Linkziel in einem neuen Fenster bzw. neuen Tabulator öffnen. Leider im Joomla-Backend nicht immer. Ist man beispielsweise in einer Menüübersicht und klickt mit gehaltener STRG auf das Menü Inhalt > Beiträge öffnet sich im aktuellen Tab als auch im neuen die Beiträge-Übersicht. Nervt!
Browser-, Tabulator-Titel im Joomla-Backend umsortieren
In der Joomla-Administration wurde früher, weswegen ich dies Plugin schrieb, im Browser-Titel bzw. den -Tabulatoren immer zuerst der Seitenname angezeigt. Waren mehrere Tabs beim Arbeiten offen, war die Orientierung schwierig, welcher Tab was anzeigt. Überall der abgekürzte Seitenname. Joomla hat da nachgebessert. Trotzdem bietet dieses kleine Helferlein einen Ticken mehr an Variationen.
Kontaktformular - Eigene Felder hinzufügen und senden
Artikel ist obsolet/antiquiert!
Deutsches Tutorial inklusive Plugin-Download. Wie erstellt man ein eigenes, installierbares, einfaches Joomla-System-Plugin. Nötige Bestandteile / Dateien. Wie fügt man in Formularen (hier Kontaktformular) joomlakonform und updatesicher eigene Felder ein. Wie kann man den Emailtext abändern. Beschreibung der Dateiinhalte / Codes. Auch für mutige Anfänger geeignet, hoffe ich. By Re:Later
Fatal error: Call to undefined method JHtml::core()
Nach Updates von Joomla 2.5 auf 3 schmeißen viele Templates eine Fehlermeldung der Art Fatal error: Call to undefined method JHtml::core() in /com_weblinks/category/default_items.php. Meist sind Overrides im 2.5-er-Template schuld, die ungültigen Code enthalten. Möchte man sein altes Template erst mal weiterverwenden, hilft ein einfacher Fix. Man muss nur eine Zeile austauschen.
Ist der Joomla-Gast ein Robot (z.B. Suchmaschine)?
Auf meiner Seite sind Structured Data (Rich Snippets) als JSON-LD per eigenem Plugin integriert, da mir das Microdata-Format Joomlas zu unflexibel ist. JSON-LD wird im HEAD per SCRIPT-Tags eingefügt. Darin auch der gesamte Artikeltext. Bevor Mobilgeräte explodieren, weil sie den unsichtbaren Text doppelt laden müssen, brauchte ich Code, um die Structured Datas nur Robots zu zeigen.

















