Drupal Kategorien mit Anzahl enthaltener Artikel als Liste ausgeben

Weblogs bestehen für gewöhnlich, unabhängig von ihrem durch verschiendenste Templates angepassten Layout, aus folgenden grundlegenden Komponenten: Einem Hauptmenü mit der groben Struktur des Weblogs (Home, Impressum, Kontakt etc.), der Kategorienliste, dem Archiv, eventuell einer Tag-Cloud und natürlich dem Hauptbereich, in dem die Artikel gelistet werden. Bei expliziter Blog-Software wie Wordpress oder Serendipity muß man sich um das Vorhandensein bzw. die Darstellung dieser Komponenten in der Regel keine Sorgen machen.

Drupal ist jedoch ein ausgewachsenes Content Management System (CMS), mit einer ganz eigenen Philosophie bezüglich der Strukturierung und Organisation. Das sogenannte Taxonomie-System ist ein mächtiges, zentrales Konstrukt, das schier unbegrenzte Flexibilität gewährleistet. Auch ein Weblog lässt sich mit Drupal relativ einfach durch das Aktivieren eines Moduls realisieren. Jedoch fehlt zunächst die Möglichkeit, mit einem Klick einen Block ins Layout zu zaubern, der die definierten Kategorien ausgibt. Hierzu liefert aber das Taxonomie-System die nötige Funktionalität.

Mit Hilfe des Mini-Tutorials von Tobias Bähr, habe ich mir zunächst eine Liste meines Kategorien-Vokabulars erstellen lassen. Da ich noch die Anzahl der mit der jeweiligen Kategorie verknüpften Artikel ausgeben lassen wollte, habe ich Tobias' Code-Snippet noch um die Funktion taxonomy_term_count_nodes($tid) ergänzt:

<?php
$vid = 2; /* <---- hier kommt die Vokabular-ID hin */
$terms = taxonomy_get_tree($vid);
print "<ul>";
foreach ( $terms as $term ) {
  print "<li>".l($term->name,'taxonomy/term/'.$term->tid, array('title' => $term->name))." (".taxonomy_term_count_nodes($term->tid).")</li>";
} /* end foreach */
print "</ul>";
?>

Fertig ist die Kategorienliste mit Artikelanzahl.


Kategorien: Code, Software, Weblog
Datum: 2008-10-18 13:03:08

Schreibe eine Antwort

In der Antwort ist kein HTML erlaubt