Drupal: Anzeige eines Kategorie- bzw. Taxonomie Menüs

kategoriebeispielIch bin weiterhin dabei mir alle Elemente für die Blogsektion zusammen zu suchen. Diesmal geht es um die übliche Anzeige der Kategorien eines Blogs in der Seitenleiste. Dies lassen sich anklicken und dann werden einem die letzten Beiträge aus der jeweiligen Kategorie aufgelistet.

Auf Anhieb habe ich keine Information gefunden, die mir den Hinweis auf das absolut passende Modul für diesen Zweck gab. Also habe ich angefangen verschiedene Module zu testen. Insbesondere lag mein Augenmerk auf Modulen, die Menüeinträge aufgrund der Taxonomie erstellen. Folgende vier Module habe ich gefunden und ausprobiert: SiteMenu, Taxonomy Menu, Taxonomy context und Taxonomy dhtml.

SiteMenu:

sitemenu1Gleich zu Anfang ein sehr interessantes Modul. Erstmal wird u.a. ein „Site Map“ Menüeintrag zur Verfügung gestellt, der zu einer Seite führt auf der alle Taxonomieeinträge aufgelistet werden (siehe Abbildung).

Man kann jeweils einen Text zur Ein- und Ausleitung der Seite angeben.

Es lassen sich Vokabulare aus der Taxonomie ausschließen (Omitted vocabularies), so dass diese nicht mit auf der „Site Map“ (und auch nicht in dem extra darstellbaren Block) aufgeführt werden.

Es lässt sich bestimmen, ob die Anzahl der Einträge (Nodes) pro Begriff (Term) angezeigt werden soll. Darüber hinaus kann bestimmt werden, ob auch die Titel der einzelnen Beiträge zu den jeweiligen Begriffen als Link angezeigt werden sollen. Dabei lässt sich die Anzahl beschränken. Allerdings gelten diese Einstellung ausschließlich für die Übersichtsseite (Sie Map) und nicht für den extra Block.

Dieser läßt sich nach Eingabe eines Titels in den SiteMenu Einstellungen einfach in der Block-Administration aktivieren und zeigt dann die "Site Map" als Block an.

So lässt sich zwar unter Ausschluss aller anderen Vokabulare ein Block mit den Kategorien erstellen und der Menüeintrag der "Site Map" Seite muss nicht aktiviert werden, so dass dieser nicht störend zu sehen ist, aber zwei Dinge stören mich: erstens ist es nicht möglich in dem Block anzeigen zu lassen, wie viele Einträge pro Kategorie existieren und zweitens ist es nicht ganz so einfach, die passende Überschrift über die Kategorien zu erhalten.

sitemenu2Von Haus aus wird in dem Blog die Auflistung der Kategorien (Terms) mit dem Titel des jeweiligen Vokabulars überschrieben. Das hatte bei mir zur Folge, dass der Titel des Blocks als "Kategorien" erschien und darunter als zweite Überschrift "Blog" (so hatte ich das Vokabular für meinen Blogbereich in der Taxonomie genannt) erschien. D.h. man muss erstens den Titel des Blocks auf "<none>" setzen, um keine zwei Überschriften zu erhalten und dann dem Vokabular für die Blogeinträge den passenden Titel verleihen. Dabei wird dieser dann im Block als etwas kleinere Überschrift als die anderen Blocktitel angezeigt (siehe Abbildung).

Insgesamt zwar ein interessantes Modul, dass ich sicherlich später für andere Zwecke nutzen werde, aber für meinen Bedarf zur Erstellung eines Kategoriemenüs im Blogbereich noch nicht das Optimum.

Taxonomy Menu:

Das nächste Modul, das mir schon häufiger als Empfehlung für verschiedenste Zwecke begegnet ist. Allerdings ist das Modul recht einfach gestrickt. Es gibt im Grunde nur zwei Einstellmöglichkeiten:

taxmenu1Erstens kann man wählen welche Vokabluare als Menüpunkte angezeigt werden sollen. Diese erscheinen dann in der allgemeinen Menühierarchie und spiegeln mit Untermenüpunkten, die bei Anwahl des Menüpunktes aufklappen, die Hierarchie in dem Vokabular wieder.

Zweitens kann man wählen, ob auf den Seiten nur Beiträge (nodes) aufgelistet werden, die zur aktuellen Hierarchieebene des Vokabulars gehören oder auch alle Beiträge der darunterliegenden Ebenen.

Man kann dann über die Menüadministration dafür sorgen, dass diese Menüpunkte in anderen Blöcken auftauchen. So lässt sich z.B. ein Menü namens Kategorien erstellen und des erzeugte Blogmenü in dieses neue Menü schieben und so konfigurieren, dass es immer geöffnet erscheint. In den Blockeinstellungen, kann man diesen Block bzw. dieses Menü z.B. in der rechten Sidebar platzieren. Leider lässt sich aber der oberste Menüpunkt Blog nicht entfernen, so dass sich auch mit diesem Modul kein simples Kategoriemenü im Blogbereich erstellen lässt (siehe Abbildung rechts).

Taxonomy context:

Grundsätzlich lässt sich mit diesem Modul erreichen, dass über die Auflistung der Beiträge zu einem Bestimmten Begriff (Term), die dafür im Vokabular hinterlegte Beschreibung vorweg angezeigt wird. Man kann Subkategorien inkl. deren Beschreibung mitanzeigen lassen.

taxcontext1Außerdem erzeugt das Modul einen sogenannten Breadcrumb Pfad passend zur Kategoriehierarchie.

Dann lässt sich noch etwas in Bezug auf die Anzeige der Beiträge einstellen (vermutlich CSS bezogen), dass ich nicht auf Anhieb verstanden habe und dem ich nicht weiter nachgegangen bin.

Interessant für meinen Bedarf ist, dass das Modul zu jedem Vokabular einen eigenen sogenannten "Context" Block zur Verfügung stellt. Diese können in der Blockadministration aktiviert und an der gewünschten Stelle positioniert werden. Wenn man nun das Vokabular für den Blog als Block anzeigen lässt, so stimmt das Ergebnis bisher am meisten mit dem überein, was ich unter einer Kategorieanzeige für Blogs verstehe.

Es wird erstmal nur die obere Begriffsebene angezeigt. Begriffe der zweiten Hierarchieebene werden wie in der Abbildung zu sehen erst aufgelistet, wenn der entsprechende übergeordnete Begriff angewählt wurde.

Ein wenig problematisch ist für mich noch die Konfiguration der Anzeigeregeln für diesen Block, da ich die Anzeige des Kategorie-Blocks auf den Blogbereich beschränken möchte. Es gibt bei den vom Taxomony context Modul erzeugten context Blöcken zwar eine spezielle Einstellmöglichkeit, den "Display mode", der sich entweder auf "Normal" stellen lässt, was keinerlei besondere Wirkung hat, oder auf "Contextual", was bewirkt, dass der Block nur bei Aufruf von Seiten des jeweiligen Vokabulars, der dazugehörigen Begiffe oder der dazugehörigen Inhalte angezeigt wird. Leider ist die Startseite des Blogs in diesem Fall als nicht zu dem Vokabular zugehörig und so wird der Block im "Contextual" Modus auf ihr nicht angezeigt.

Gut denke ich mir, dann lasse ich die Einstellung auf "Normal" und wähle die Regel "Diesen Block nur auf den aufgelisteten Seiten anzeigen." Da ich durch das Pathauto Modul für sprechende URL's sorge, erreiche ich mein Ziel, wenn ich "blog" und "blog/*" für die Startseite des Blogs und die einzelnen Beiträge angebe und "blogkategorien" und "blogkategorien/*" für die Anzeige bei Blogkategorieauflistungen.

Taxonomy dhtml:

Dieses Modul habe ich mir als letztes angesehen. Es wird ein Menüeintrag in der Navigation mit dem Namen "Kategorien" erzeugt. Dieser führt auf eine Seite auf der sämtliche Vokabulare aufgelistet werden mit ihren Begriffen als ausklappbare Listen (siehe folgende Abbildung).

taxdhtml1

Darüber hinaus wird für jedes Vokabular ein eigener Block zur Verfügung gestellt, der in der Blockadministration aktiverbar ist. Überraschenderweise passt die Anzeige auch gut zu meinen Vorstellungen einer Anzeige von Blogkategorien (siehe rechte Abbildung).

Es werden sowohl die Kategorien aufgelistet als auch die Anzahl der dazugehörigen Beiträge. Unterkategorien (Drupal Installation) werden leicht eingerückt dargestellt.

Fazit:

Obwohl ich nach dem Taxonomy context Modul dachte, das es genau das ist was ich benötige, so entscheide ich mich jetzt doch für das Taxonomy dhtml Modul. Die Anzeige der Kategorieübersichtsseite schalte ich einfach in der Menüadministration aus und den Blogkategorien Block lasse ich über die oben bereits erwähnten Regeln für die Anzeige nur im Blogbereich anzeigen.

Damit bin ich wieder ein Schritt weiter in Richtung meiner Anforderungen an einen mit Drupal realisierten Blog gekommen.

4 Kommentare zu „Drupal: Anzeige eines Kategorie- bzw. Taxonomie Menüs“

  1. Hallo!

    Danke für den Tipp bezüglich des „Taxonomy dhtml“ Moduls. Genau so etwas habe ich gesucht!
    Werde hier nun öfters „vorbeischauen“! 🙂

    Viele Grüße,

    Pete

  2. Ich danke Dir für deinen sehr ausführlichen Bericht wirklich sehr. Ich habe eben die Version 6.14 installiert und suchte für die Menüs nach einer Lösung. Genial.

    Viele Grüße
    Jennifer

Kommentar verfassen

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