Ordnung in das Joomla Bilder-Verzeichnis bringen

Joomla Tipps und TricksFrüher war alles besser, zumindest was die Übersichtlichkeit in so manchen Joomla Bilder-Verzeichnis angeht. Denn mit der Jungfräulichkeit dieser virtuellen Ablage ist es bei den meisten Installationen schnell dahin. Artikel verlangen nach einer adäquaten Bebilderung, Erweiterungen bieten die Möglichkeit eigene Grafiken zu verwenden und so manches Menü wurde schon mit kleine Icons verschönert. Und je älter das eigene Projekt wird, umso länger die Liste der vorhandene Einträge im Image Manager des Editors, umso umständlicher die Suche nach dem richtigen Bild, umso deutlicher die Einsicht das man damals eine bessere Struktur hätte wählen sollen. Die Grafiken einfach verschieben und nachträglich alle Artikel überarbeiten? Zu aufwändig. Von Hand ganz sicher, aber mit unserer kleinen Anleitung hier, wollen wir euch zeigen, das es mit einen paar Kniffen ganz einfach zu machen ist. Alles was wir dazu brauchen, ist ein Joomla mit übervollen Image-Verzeichnis, eine aktuelle Sicherung der Datenbank und Webspace - falls doch mal etwas schief laufen sollte - und das kleine Tool "DB-Replacer" von NoNumber.

Wichtig: Diese Anleitung richtet sich ausdrücklich an bereits erfahrene Joomla Anwender. Ausserdem übernehmen wir keine Garantie für eventuell auftretende Schäden! Jeder Anwender arbeitet auf eigenes Risiko!
Download: Diese Anleitung benötigt den DB-Replacer von NoNumber den ihr hier findet: Projektseite DB-Replacer.

Bevor wir aber mit dem Umzug der Bilder beginnen, sollte jeder nachschauen ob eventuell noch andere Erweiterungen in eurem Joomla auf diesen Speicherort zugreifen. Das kann eine Download-Komponente sein, bei der ihr zum Beispiel Logos oder Bildschirmfotos eingebunden habt, oder aber auch das Formular das von dort eurer Benutzerbild bezieht. Nicht zu vergessen, eventuell vorhandene externe Verlinkungen aus Foren, Communitys, sozialen Netzwerke, beziehungsweise anderen Webseiten welcher Art auch immer.

Der Einfachheit halber beschränken wir uns hier auf die Annahme, dass es allein um die Grafiken innerhalb eurer Artikel geht. Das Vorgehen bei der Berücksichtigung weiterer Komponenten wäre praktisch gleich, nur müsste man den Prozess auf weitere Tabellen in der Datenbank entsprechend ausdehnen. Ein kurzes Beispiel dazu findet ihr weiter unten. Kommen wir aber zurück zu unserem eigentlichen Vorhaben.

Um uns einen ersten Überblick zu verschaffen, öffnen wir mit einem FTP-Programm unserer Wahl den Joomla Hauptordner, springen von dort in /images/stories/ und schauen wie viel Arbeit dort auf uns wartet. Würde es sich um ein frisch installiertes Joomla handeln, hätten wir dort zwei Verzeichnisse, dreizehn Grafiken und eine index.html. Diese sollte auch auf keinen Fall gelöscht oder verschoben werden, weil sie verhindert das Besucher einfach in den Ordner einspringen und sich die Bilder als Liste anzeigen lassen können. Alles andere wäre theoretisch in einen Unterordner umziehbar. Theoretisch deshalb, weil wir nicht sagen können, wo ihr die Bilder eventuell noch überall eingebaut habt. Ein prüfender Blick über die eigene Seite ist in diesem Zusammenhang auf jeden Fall zu empfehlen.

Joomla Backend Media Manager

Sind die Vorbereitungen abgeschlossen, die Seite in der Konfiguration offline geschaltet und das letzte Backup vollständig abgeschlossen, können wir mit der Arbeit beginnen. Zuerst laden wir uns die aktuelle Version des "DB-Replacer" von Nonumber herunter und installieren sie über unser Joomla Backend. Ist dieser Schritt abgeschlossen, rufen wir den DB-Replacer auf, gehen oben rechts auf "Einstellungen" und setzen den Wert von "Maximum Row Count" auf eine Zahl hinauf die auf jeden Fall über der maximalen Zahl unserer Inhalte liegt. Haben wir zum Beispiel etwa 800 Artikel in unserem Joomla gespeichert, dann nehmen wir als Wert für dieses Feld 1000 und speichern unsere Wahl ab. Das ist deshalb wichtig, weil der DP-Replacer einfach nur das Zeichenfolgen in der Joomla Datenbank sucht und diese im Zweifel immer wieder ersetzen würde. Und da auch in unserem später angestrebten "images/stories/alt/" noch immer das gesuchte "images/stories/" vorkommt, hätten wir recht schnell ein unschönes Chaos in den den betroffenen Tabellen. Das wollen wir selbstverständlich nicht und deshalb ist es wichtig das DB-Replacer gleich beim ersten Lauf ungestört durchlaufen kann.

Joomla Backend DB Replacer Einstellungen

Ist der DB-Replacer installiert, konfiguriert und damit bereit, starten wir wieder unser FTP-Programm und gehen zurück in unser Bilder-Verzeichnis /images/stories/ . Dort wählen wir alle Grafiken aus und kopieren sie in einen Unterordner auf unserer heimischen Festplatte, um sie danach an ihren neuen Platz zu verschieben. Manche FTP-Programme bieten auch eine Möglichkeit direkt auf dem Server zu verschieben, ohne den Umweg über die eigene Festplatte nehmen zu müssen. Aber eben nicht alle unterstützen diese Funktion. Außerdem müssen wir uns ein neues Verzeichnis erstellen in das die alten Bilder später abgelegt werde sollen. Ob man dies nun schlicht "alt", "retro" oder "ablage" nennt ist wohl reine Geschmacksache. Wichtig ist allerdings keine (!) Sonderzeichen, Umlaute oder Leerstellen im Namen zu verwenden. Alles sehr beliebte Fehlerquellen, da Unix - und damit laufen nun mal die meisten Webserver - sehr empfindliche in diesem Zusammenhang ist. Ist man mit dem Kopiervorgang fertig, sollten die die alten Grafiken zum Beispiel im neuen Verzeichnis wie /images/stories/retro/ befinden. Bis dahin hat alles funktioniert? Dann ist es Zeit für das Finale, das Umbiegen der Einträge in der Datenbank.

Dazu öffnen wir den vorhin installierten DB-Replacer und wählen im Fenster links die Tabelle "jos_content". Habt ihr den Präfix nicht verändert sollte das bei 99,9% aller Joomlas passend sein. Wenn nicht, müsst ihr das "jos" gegen euren eigenen Präfix austauschen. Hat man die Tabelle "jos_content" angeklickt, geht im Fenster rechts eine Liste mit den darin enthaltenen Feldern auf, zu denen beispielsweise der Titel, Alias, Meta usw. gehören. Für uns interessant sind aber nur der "introtext" und der "fulltext", die die eigentlichen Inhalte der Artikel im Teaser und der Vollansicht beinhalten. Hält man die Steuerungstaste gedrückt, lassen sich mit der Maustaste beide Felder auswählen. Danach wählen wir zwei Felder darunter, unter "Suche" aus wonach die Komponente suchen soll und tragen dort "images/stories/" aus. DB-Replacer sucht dann bereits nach möglichen Treffern und blendet sie ganz unten in der Vorschau ein. Nun wollen wir aber nicht nur suchen, sonder eben auch austauschen. Deshalb tragen wir im Feld rechts unter "Replace" unser neues Heim für die Grafiken ein, das in unserem Beispiel unter "images/stories/retro/" liegt. Wichtig ist das ihr auf den abschließenden Slash achtet wenn ihr ihn auch bei der Suche verwendet habt.

Joomla DB Replacer Anleitung

In der Anzeige mit der Vorschau könnt ihr nun erkennen wo der DB-Replacer überall in euren Artikeln fündig geworden ist, markiert die Stellen die geändert werden sollen rot, und zeigt das was neu eingetragen werden soll grün an. Ist man sich sicher alles richtig gemacht zu haben, kann man den Vorgang selbst mit einem Klick auf "Replace" anschieben und muss noch einmal zur Sicherheit bestätigen. Bitte darauf achten das der darauf folgende Vorgang nicht unterbrochen wird. Ist die Komponente fertig, kann man einen Blick in das Frontend wagen und schauen ob die Bilder richtig aus dem neuem Unterverzeichnis aufgerufen werden. Dazu sollte man sowohl den Cache in Joomla, als auch in seinem Browser löschen und die Seite neu laden lassen. Funktioniert alles schaltet man das Joomla wieder online und kann das nun praktisch leere Bilderverzeichnis von Joomla so aufbauen wie man es schon immer hätte tunn sollen. Zum Beispiel einen Ordner für Logos, einen für Bildschirmfotos usw. Der Fantasien sind kaum Grenzen gesetzt so lange man sich selbst nicht verirrt.

Kann man DR-Replacer auch bei anderen Erweiterungen anwenden?
Ja, das kann man durchaus. Wichtig ist nur das man die Tabellen kennt, in der die jeweilige Joomla Erweiterung seine Inhalte in der Datenbank anlegt. Hat man die entsprechenden Felder ausfindig gemacht, kann man auch dort den Vorgang starten und gezielt Verknüpfungen zu Bilder oder andere Zeichenketten austauschen. Bei Docman wäre das zum Beispiel die "dmdescription" in "jos_docman" in der sich die Texte befinden. Wichtig ist aber immer eine vollständige und aktuelle Sicherung der betreffende Seite in der Hinterhand zu besitzen.

  • Written by: Jan
  • Donnerstag, 13 Januar 2011