Modul für dynamischen Kategorien-Block wie bei WordPress?
am 30.07.2007 - 00:15 Uhr in
Hallo allerseits,
beschäftige mich seit ein paar Wochen intensiv mit Drupal und habe bereits viel gelesen und ausprobiert. U.a. folgendes gibt mir momentan Rästel auf:
Ist es in Drupal 5 möglich, einen Block in der Seitenleiste zu platzieren, der eine dynamische Liste der benutzten Kategorien samt jeweiliger Anzahl der Nodes darstellt? Also so, wie es bei WordPress "standard" ist.
(Siehe z.B. http://dasgesundheitsblog.de/ dort rechts im Sidebar unter "Kategorien")
Einfaches Beispiel:
- Ich habe ein Vokabular "Pressemeldung" mit Terms "Business", "Multimedia", "Internet", ...
- Nun erstelle ich einen Node und weise ihm die Kategorie "Business" zu, es gibt also _nur_ eine Seite erstmal
- Das Ergebnis in der Seitenleiste soll sein:
------------------
Pressemeldungen
- Business(1)
------------------
Ich möchte also nicht eine Liste _aller_ Terms des Vokabulars da stehen haben, sondern es sollen dort nur dann Terms angezeigt werden, wenn auch jeweils Inhalt dafür vorhanden ist. Alles andere ist ohnehin Unsinn und führt den Nutzer in die Irre, wenn er sich durch die Terms durchklickt und nichts dahinter liegt.
Ich habe in dem Zusammenhang bereits einige Module ausprobiert, z.B. "Taxonomy DHTML" oder "Site menu", etc. - alle produzieren in der Sidebar eine Liste sämtlicher Terms ohne Anzeige der Nodeanzahl. hmpf.
Hat jemand eine Idee oder einen Tipp?
- Anmelden oder Registrieren um Kommentare zu schreiben
Liste der benutzten Terms mit Nodeanzahl
am 30.07.2007 - 08:07 Uhr
Ein Modul kenn ich nicht, aber ein Snippet:
<?php
$vid = 2;
$result = db_query("SELECT count(tn.nid) as count, td.tid, td.name FROM {term_data} td INNER JOIN {term_node} tn WHERE td.tid=tn.tid AND td.vid=%d GROUP BY td.tid ORDER BY td.name", $vid);
$items = array();
while ($term = db_fetch_object($result)) {
$items[] = l($term->name .t(' (!count)', array('!count' => $term->count)), 'taxonomy/term/'. $term->tid);
}
print theme('item_list', $items);
?>
Wobei $vid die id des Vokabulars sein muss, dessen Terms du anzeigen willst.
vg
--
sanduhrs - drupalcenter
--------------------------------
Stefan Auditor
http://erdfisch.de
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Snippet
am 30.07.2007 - 08:43 Uhr
Hallo Stefan,
vielen Dank für Deinen Tipp!
Das werde ich gleich ausprobieren. Snippets sind mir allerdings bislang noch nicht untergekommen. Wohin also genau mit dem Code-Block?
Danke
- Ilias
Neuen Block
am 30.07.2007 - 12:35 Uhr
Du erstellst einfach einen neuen Block, kopierst den Code in die Textarea und spreicherst das Ganze mit dem Eingabeformat PHP. Fertig.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Block-Snippet
am 30.07.2007 - 13:32 Uhr
... yep - das tutet!-)
Tausend Dank!!!
- ilias