Webseiten und Zubehör Programmierung Umsetzung Pflege Backups Betreuung Joomla!®-Spezialist

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.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Nach dem JLayouts-Override im Isis Template bleiben die Filterfelder im Backend immer sichtbar

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.

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

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!

Diverse Tabulatoren im Backend offen. Alle gleich beschriftet. Früherer Joomla-Standard ohne Plugin.

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.

Damit diese Override-Zeilen funktionieren brauchen wir ein Plugin

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

Joomla 3 versteht JHtml::core() nicht mehr

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.

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.