Dynamisches Navigationsmenü und Inhaltsanzeige

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche

Note.png Dieser Artikel ist Teil einer Reihe von Artikeln über die dynamische Navigation von DynPG

Dynamisches Navigationsmenü und Inhaltsanzeige | Der Navigationskontext | Implementation eines kompletten Hauptmenüs | Anpassen des Navigationsmenüs | Moduldokumentation: Dynamische Navigation | Einführungsartikel ...

zurück zu Kategorie:Integration in eine Webseite

Mit DynPG haben Sie die Möglichkeit im Handumdrehen eine dynamisches Menü zu erstellen und Inhalte dynamisch anzeigen zu lassen. In diesem Artikel erfahren Sie, wie es geht.

Grundsätzlicher Aufbau

Eine mit DynPG erstellte Webseite enthält in den allermeisten Fällen mindestends die folgenden zwei Bereiche:

  1. ein dynamisches Navigationsmenü und
  2. eine Inhaltsanzeige zur Darstellung von Inhalten.

Für diese beiden Bestandteile bietet uns DynPG Snippets an, welche ein dynamisches Menü erzeugen und eine Inhaltsanzeige erstellen. Das dynamische Navigationsmenü wird durch ein integrierte Modul - die dynamische Navigation - erzeugt. Aufbau und Strukur des Navigationsmenü werden dabei von den im Backend erstellten Gruppen bestimmt. Die Inhaltsanzeige zeigt dann je nach selektiertem Menüpunkt den Inhalt der Gruppe an. Dazu werden die drei Sichten von DynPG verwendet.


Navigation Inhalt.png

Dynamisches Navigationsmenü

Für das dynamische Navigationsmenü wird das Modul dynamische Navigation verwendet. Dieses Modul erzeugt aus der im Backend erstellten Gruppenstruktur eine Navigationsmenü für die Webseite. Dabei wird für jede erstellte Grupppe ein Menüpunkt im Menü angezeigt. Wird dieser Menüpunkt angeklickt, so werden alle in der Gruppe enthaltenen Artikel bzw. Untergruppen im Menü angezeigt. Je nach angeklickter Gruppe oder Artikel kann die Inhaltsanzeige dann den selektierten Inhalt darstellen.


Um die dynamische Navigation einzubinden, müssen wir zuerst einen Artikel mit Platzhalter für das Modul erstellen. Welche Schritte Sie zur Erstellung des Artikels ausführen müssen, erfahren Sie im Artikel zum Einbinden von DynPG Modulen. Die ID dieses Artikels muss dann im folgenden Snippet anstelle von <ID> eingesetzt werden:

Dynamisches Menü einbinden

<?php>
  $GLOBALS["DynPG"]->SetParam_A_Anytime(true); // dynamisches Menü immer anzeigen
  $GLOBALS["DynPG"]->SetParam_A_Article(<ID>); // ID des Artikels, welcher das dynamische Menü enthält, festlegen
  $GLOBALS["DynPG"]->Write_Article();          // Artikel mit dynamischen Menü ausgeben
?>

Inhaltsanzeige

Die Inhaltsanzeige kann nun den im Navigationsmenü angeklickten Inhalt mit Hilfe der drei Sichten von DynPG anzeigen. Ist im Menü eine Gruppe selektiert, so kann z.B. mittels der Artikel- bzw. Gruppenliste eine Liste aller in der Gruppe enthaltenen Artikel oder Untergruppen angezeigt werden. Ist im Navigationsmenü ein Artikel selektiert, so kann dieser durch die Artikel-Detailansicht angezeigt werden.

Die Inhaltsanzeige muss also auf den selektierten Inhalt reagieren, was durch den sogenannten Navigationskontext realisiert wird. Damit die Inhaltsanzeige auf diesen Kontext reagieren kann, ist der Befehl $GLOBALS["DynPG"]->SetParam_XX_Anytime(false) von Bedeutung. Dabei steht XX für das Kürzel der jeweiligen Ansicht (AG, AA oder A) und der Wert false gibt an, dass der Inhalt nicht immer, sondern abhängig vom Navigationskontext angezeigt werden soll. Ist also z.B. im Navigationsmenü eine Gruppe ausgewählt, so wird die Gruppen- bzw. Artikelliste eine Liste aller enthaltenen Gruppen bzw. Artikel anzeigen, die Artikel-Detailansicht hingegen wird nichts anzeigen. Ist ein Artikel ausgewählt, so wird die Artikel-Detailansicht diesen anzeigen und die Gruppen- und Artikelliste werden nichts ausgeben.


Eine einfache Inhaltsanzeige zur Darstellung aller Inhalte könnte also folgendermaßen aussehen:

Inhaltsanzeige

<?php>
  $GLOBALS["DynPG"]->SetParam_AG_Anytime(false); // Gruppenliste abhängig vom Navigationskontext ausgeben (Standard-Wert)
  $GLOBALS["DynPG"]->Write_AllGroups();          // Gruppenlisten-Ansicht erstellen
 
  $GLOBALS["DynPG"]->SetParam_AA_Anytime(false); // Artikelliste abhängig vom Navigationskontext ausgeben (Standard-Wert)
  $GLOBALS["DynPG"]->Write_AllArticles();        // Artikellisten-Ansicht erstellen
 
  $GLOBALS["DynPG"]->SetParam_A_Anytime(false);  // Artikel abhängig vom Navigationskontext ausgeben (Standard-Wert)
  $GLOBALS["DynPG"]->Write_Article();            // Artikel-Detailansicht erstellen
?>