Joomla und Erweiterungen (Templates, Komponenten, Plugins, Module)
Wissenswertes, Anleitungen, Workarounds, Bugfixes zu Joomla und Joomla-Erweiterungen
- Details
Aufgabenstellung
Ziel ist es über eine einfache Pflegeschnittstelle über das Frontend an Modulpositionen Werbebanner schalten zu können. Dabei waren folgende Forderungen umzusetzen:
- Nach einem Login als Admin o.ä. soll an den Modulpositionen an dem Werbebanner zulässig sind Edit-Symbole erscheinen. Über diese läßt sich die Verwaltung der Werbebannerschaltung ausgehend von der gerade aktuell sichtbare Seite aufrufen.
- Als Werbebanner sollen
- ganz normale Joomla-Beiträge, die jedoch nur einer bestimmten festen Kategorie zugeordnet sind, verwendet werden
- einzelne VirtueMart-Produkte ausgewählt werden können.
- Die Schaltung der Banner soll per Ajax durch einfaches Klicken veranlasst werden, d.h. ein Klick auf einen Banner schaltet diesen auf der aktuellen Seite und ein weiterer Klick deaktiviert die Werbeschaltung auch wieder.
- Es ist keine Backend-Verwaltung vorgesehen.
- In Abhängigkeit von der gerade aktuell sichtbaren Seite, auf der die Bannerverwaltung aufgerufen wurde, sollen durch einfaches Klicken auf Icons eine Anzeige wahlweise geschaltet werden können für:
- auf der gesamten Website (allso quasi überall im Projekt)
- nur auf der HomePage-Startseite
- auf allen Seiten der gerade aktiven Komponente (wenn man sich also z.B. auf einer com_virtuemart-Seite befindet, dann auf allen Shopseiten, erkannt an option=com_virtuemart im URL)
- auf der oder allen Unterseiten des gerade aktiven Menüpunktes (ein Menüpunkt kann durchaus mehrere Unterseiten haben, bsp. VirtueMart hat durchweg nur eine aktiven Menüpunkt innerhalb der Joomla-Mainmenüs, i.d.R. ist es jedoch eine konkrete Seite).
- Innerhalb einer Shopkategorie (nur relevant wenn man sich auch tatsächl. gerade innerhalb des Shop in einem Kategoriezweig o. einer Produktseite befindet)
- Während die Anzeigen, die auf J!Beiträgen basieren frei gestaltbar sind, basiert die Anzeige von VM-Produkt-Anzeigen auf vorgefertigten Templates, die mit den Produktdaten agieren.
Weiterlesen: Eigenes Modul zur Werbebanner-Platzierung in Joomla 1.5 und VM 1.1
- Details
Problembeschreibung
Nach wie vor steht auch in Joomla 2.5 die Problematik, dass Joomla und auch Komponenten/Plugins/Templates/Module sich jeweils selbst um das Laden von evtl. benötigten JS-Bibliotheken/Frameworks kümmern und dies je nach Laune der Entwickler in unterschiedlichen Versionen und von unterschiedlichen Plätzen. Da ist VirtueMart schon fast vorbildlich, in dem man in der Konfiguration schon festlegen darf, ob die jQuery durch VM geladen werden soll oder nicht - jedoch wenn dann zwangsläufig von der googleapi. Das Phoca-Gallery-Slideshow-Plugin steigt da gleich etwas härter ein und lädt aus dem lokalen Komponentenverzeichnis /components/com_phocagallery/assets/jquery/jquery-1.6.4.min.js.
Diese Verfahrensweise unter Joomla hat gravierende Nachteile.
- Man hat keinen Einflus darauf wann eine Bibliotkek geladen wird. Das kann zu Konflikten führen wenn z.B. ein query-Funktionsscript geladen werden soll aber die Bibliothek selbst vorher noch nicht geladen wurde.
- Man muss mitunter machtlos zusehen wie Bibliotheken doppelt in gleicher Version von unterschiedlichen Quellen geladen werden
- Mitunter werden die Bibliotheken in unterschiedlichen Versionen geladen.
- Details
Problembeschreibung
Wer in seinem Projekt wg. der Mehrsprachigkeit JoomFish nutzt, der wird mitunter feststellen, dass unter Umständen in der Komponente JoomFish unter den Statusmeldungen z.B. folgende steht:
jfrouter - Reihenfolge nicht korrekt (order not correct)
jfdatabase - Reihenfolge nicht korrekt (order not correct)
Das fand ich bei der Suche nach Fehlern bei der Nutzung von JoomFish beunruhigend und wollte diese Fehlermeldung vermeiden und habe dann sehr lange nach der Ursache gesucht. Schließlich stellte sich folgende Erkenntnis ein
Weiterlesen: JoomFish und Akkeba-Backup - Plugin-Reihenfolgen-Konflikt
- Details
Die PhocaGallery muss separat bei einer Migration von Joomla 1.5 auf 2.5 migriert werden. Dabei ist wie folgt vorzugehen, um alle Daten sauber ins neue Projekt herüber zu bekommen:
- Die Komponente PhocaGallery sollte auf die neuste unter J!1.5 lauffähige Version geupdatet werden.
- Dann wie üblich das Projekt komplett sichern z.B. mit Akeeba-Backup.
- Alle Bilder aus dem Verzeichnis /images/phocagallery/ sollten nach nach lokal kopiert werden, um diese später wieder auf das neue Projekt ins gleiche Verzeichnis kopieren zu können.
- Dann sollte man das Joomla-Projekt z.B. mit
- Details
- Die Komponenten JUpgrade installieren - möglichst immer die aktuellste verfügbare Version, denn diese wir scheinbar noch immer fleißig weiterentwickelt und kann mit jeder Version wieder ein paar Dinge mehr, die einem eine Projektmigration erleichtern.
- Nun zunächst eine vollständige Projektsicherung z.B. mit Akeeba-Backup anlegen.
- Das Root-Verzeichnis in dem das alte J! liegt sollte hinreichende Schreibrechte erhalten z.B. 775, weil JUpgrade versuchen wird in diese root-Verzeichnis ein Unterverzeichnis jupgrade anzulegen in welches dann die neue Version kopiert wird.
- Nach der Installation kann die Komponente JUpgrade aufgerufen werden. I.d.R. kann mit allen Standardeinstellunge gearbeitet werden. Konflikte habe ich bei meinen Host und Projekten bisher nicht erlebt.
Weiterlesen: Migration von Joomla von Version 1.5.x zu J!2.5.x