Implementation eines kompletten Hauptmenüs

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

Einleitung

Wir wollen uns nun an eine wichtige Aufgabe machen: Die Erstellung eines Navigationsmenüs. Als erstes benötigen wir eine leere index.php, d.h. nicht ganz leer, sie enthält natürlich das HTML-Grundgerüst. Außerdem erstellen wir uns eine CSS-Datei namens style.css mit der unser Menü optisch anpassen werden. Das Grundgerüst könnte wie folgt aussehen:

<?php
  require 'cms/getcontent.php';        //DynPG-Funktionalität einbinden
  $DynPG->SetParam_PathToRoot('cms/'); //DynPG-Pfad setzen
?>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
  <head>
    <title>Seite mit Hauptmenü</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <?php $DynPG->Write_CSS_JS_Header(); ?>                     <!--Standard-Css von DynPG einbinden-->
    <link rel="stylesheet" type="text/css" href="style.css" />  <!--eigene style.css einbinden-->
  </head>
  <body>
    <h1>Seite mit Hauptmenü</h1>
    <table  border="0">
      <tr valign="top">
      <th align="left" style="width:230px" id="hauptmenue">
      <div style="border: 3px black solid">
      <?php
        //hier soll das Hauptmenü hin
      ?>
      </div>
      </th>
      <th id="anzeige">
      <div style="border: 3px black solid">
      <?php
        //hier sollen die anzuzeigenden Artikel und Gruppen hin
      ?>
      </div>
      </th>
      </tr>
    </table>
  </body>
</html>

In den Spalten hauptmenue und anzeige sollen das Hauptmenü bzw. die eigentlichen Artikel, Artikellisten und Gruppenlisten angezeigt werden.

Erstellen des Navigationsmenüs

Bevor wir nun den eigentlichen Code schreiben, müssen wir in das DynPG Backend und einen Artikel erstellen, der die dynamische Navigation enthält. Der Hauptmenü-Artikel müsste nun darunter in der Liste "Texte / Text-Gruppen" angezeigt werden. Schauen Sie wo er sich dort befindet und merken Sie sich die ID. Mit der werden wir den Artikel nämlich jetzt anzeigen lassen. Gehen wir also wieder in unsere "index.php" und fügen in der Spalte hauptmenue folgendes ein:

  1. <?php
  2. $DynPG->SetParam_A_Anytime(true);
  3. $DynPG->SetParam_A_Article(ID);
  4. $DynPG->Write_Article();
  5. ?>

In der ersten Zeile weisen wir DynPG an, dass der folgenden Artikel immer angezeigt werden soll, da es sich sich um das Navigationsmenü der webseite handelt. In der zweiten Zeile muss ID durch die ID des Artikels, der die dynamische Navigation enthält, ersetzt werden. Mit Zeile 3 wird schließlich das Menü angezeigt.

Erstellen der Inhaltsanzeige

Nun müssen wir uns noch um die anzuzeigenden Artikel kümmern, die man über das Menü erreichen kann. Dazu fügen wir in der Spalte anzeige folgendes ein:

  1. <?php
  2. $DynPG->SetParam_A_Anytime(false); //nur anzeigen, wenn es der Kontext (also Position im Menü) vorgibt
  3. $DynPG->SetParam_AA_Maxview(10); //Maximal zehn Einträge in Artikellisten
  4. $DynPG->Write_AllArticles();
  5. $DynPG->Write_Article();
  6. ?>

Zeile 1 funktioniert analog zu obigem Code. Die Zeilen 3 und 4 bewirken, dass sowohl Artikellisten (wenn im Menü auf eine Gruppe geklickt wird) als auch einzelne Artikel (wenn auf einen Artikel geklickt wird) angezeigt werden. Zeile 2 gibt an wie lang eine Artikelliste sein darf, bevor sie der Übersicht halber auf mehreren Seiten dargestellt werden (wobei automatisch eine Seitennavigation im unteren Bereich der Webseite angezeigt wird).

Anpassen des Menüs mittels CSS

Für das Beispiel werden wir die style.css wie folgt erstellen:

/*alle Links schwarz*/
a{color: black;}
 
#hauptmenu p{
	text-align: left;
}


Nun kann die Seite bereits angezeigt werden und sieht dann folgendermaßen aus:

First look.jpg

Natürlich variiert diese Ansicht, denn es werden natürlich immer die Gruppen und Artikel angezeigt die man im Backend definiert hat. Nun kann man daran gehen eigene Artikel/Gruppen zu erzeugen, die dann natürlich auch im Menü auftauchen werden.