Joomla 1.6 – Kategoriebild in der Unterkategorie-Auflistung

Unter Joomla 1.6 hat man endlich die Möglichkeit Unterkategorien ansprechend mit Kategorie-Beschreibung aufzulisten. Dies geschieht in Form einer einfachen Liste (Sollte ich bei Gelegenheit mal in eine kleine zweispaltige Tabelle umgestalten ;o) ). Mir fehlten in dieser Anzeige nur die Kategorie-Bilder an der richtigen Stelle.

Lsungen_-_Mozilla_FirefoxDer Screenshot zeigt die fertige Seite. Neben dem Kategorie-Bild der Hauptkategorie wird vor jeder Unterkategorie das entsprechende Bild angezeigt.

Lösung

Bevor man loslegen kann sind zwei Fragen zu klären:

  • Welche Datei in Joomla ist für die Anzeige der Unterkategorien verantwortlich?
  • Wie bekomme ich die Kategorie-Bilder an die richtige Stelle?

Die Datei war nach kurzer Recherche im Internet schnell gefunden. Für die Anzeige der Unterkategorien (Childcategories) ist die „blog_children.php zuständig. Hier wird die Liste mit den Unterkategorien erzeugt. Hier muss ich nach dem <li>-Tag mein <img>-Tag einfügen. Die php-Datei „blog_children.php“ liegt unter „/components/com_content/views/category/tmpl“.
Die zweite Frage war nach etwas Überlegung dann auch keine Hürde mehr. Das Kategoriebild der Elternkategorie wird angezeigt und dies geschieht in der „blog.php, die im selben Verzeichnis liegt, oder wie auf meiner Seite im Template unter html. Den Code-Schnipsel herauskopiert und in die blog_children.php an der richtigen Stelle importiert.

Nun hat man das Kategorie-Bild der Elternkategorie vor jeder Unterkategorie, was dem gewollten Ergebnis schon sehr nahe kommt, aber nicht nun mal nicht ganz. Offensichtlich wird die falsche Kategorie abgefragt. Dies ändert man, indem die Variable „$this“ durch „$child“ ersetzt wird und der Aufruf „->category“ gelöscht wird.

Fertig ist die angepasste Anzeige der Unterkategorien. Und bei Gelegenheit werden wir die Liste durch eine nette Tabelle ersetzen, damit immer zwei Unterkategorien nebeneinander stehen können.
Code blog_children.php:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.