Warum kostenlos registrieren?

Nur als registriertes Mitglied hast Du vollen Zugriff auf alle Funktionen unserer Website. So kannst Du eigene Fragen stellen und hast die volle Übersicht über neue interessante Themen im Forum.
Jetzt kostenlos registrieren.

Login


PHP-Navigation inkl. 1-stufiger Unterstruktur ohne DB

Programmier-Tipps und -Tricks. Artikel zum Thema Java, PHP, C++, Delphi, VB, etc.

PHP-Navigation inkl. 1-stufiger Unterstruktur ohne DB

Beitragvon scorbio am 21.06.2005, 15:54

PHP-Navigation inkl. 1Stufigen Unterstruktur

Diese Navigation ermöglich eine dynamische Menüführung deiner Page, mit wenigen Änderung kannst du Sie für deine Zwecke umwandeln. Ich habe mal hier eine sehr einfache Grunddatei erstellt.

Werde aber noch einen Beispiel nachliefern. Die angesprochende Bilder könnt ihr dann aus dem Beispiel übernehmen.

HINWEIS: In diesem Beispiel wir mit der Weitergabe von Parameter-Werten in der Domainadresse gearbeitet. Geht aber auch ohne, also mit direkter Ansprache der Dateien.


variablen.php
In dieser Datei werden die wichtigsten Variablen gespeichert.
Code: Alles auswählen
<?php
$subDir   = "./";
$subSite = $subDir."index.php";
$subImage = $subDir."img/";
$siteRoot = $subSite."?section=";
$menueTitle = "Navigation";

$mainNavigation=array(
      "Home"=>array("root"=>"home"),
      "Über mich"=>array("root"=>"mich"),
      "Foto-Gallery"=>array("root"=>"gallery",
         "Ausflug München"=>"munich",
         "Ausflug Nürnberg=>"nuernberg",
         "Kellerparty 2005"=>"keller2005",),
      "Kontakt"=>array("root"=>"kontakt",
         "Impressum"=>"impressum",
         "Disclaimer"=>"disclaimer"),
      "Newsletter"=>array("root"=>"newsletter"),
   );
?>

benutzte CSS
Alle Links werden mit weißen Grund unterlegt wenn sie mit dem Mauszeiger angeklickt werden.
Die Mainstruktur wird auch mit weißem Grund dargestellt und die Unterstruktur wird fett fals sie aktiviert werden.
Code: Alles auswählen
a.bg-weiss-sub:hover, a.bg-weiss-sub:active,
a.bg-weiss:hover, a.bg-weiss:active, a.bg-weiss-present
{
   background: #FFF;
}
a.bg-weiss-sub-present
{
   font-weight: bold;
}

navigation.php
In der Navigations-Datei wird dann die Funktion aufgerufen. Die Variable "$section" wird in der Domainadresse übergeben.
zb. index.php?section=home.
Code: Alles auswählen
<?php
   //Prüft ob Variable "$section" einen Wert hat
   if(isset($_GET['section'])) {
      echo showNavigation($mainNavigation, $siteRoot, $subImage, $_GET['section'], $menueTitle);
   }else{
      echo showNavigation($mainNavigation, $siteRoot, $subImage, '', $menueTitle);
   }
?>

function.php
Code: Alles auswählen
<?php
function showNavigation($menuStruct, $DirRoot, $imageDirRoot, $menuPoint, $title) {
   $output = "<p class=\"ueberschrift2_blau\">".$title."</p>\n";
   
   //Prüft ob eine Section mitgeliefert worden ist
   if($menuPoint == '') {
      
      //Falls nein wird hier die Grundstruktur ausgegeben
      foreach($menuStruct as $key=>$value) {
         $output .= "<p>\n";
         $output .= "<img src=\"".$imageDirRoot."pfeil_rechts.gif\" width=9 height=9 border=0 />\n";
         $output .= "<a class=\"bg-weiss\" href=\"".$DirRoot.$value['root']."\">".$key."</a>\n";
         $output .= "</p>\n";
      }
   } else {
      foreach($menuStruct as $key=>$value) {
         $output .= "<p>\n";
         
         //Zählt die Sectionen im Arrayelement
         $i = 0;
         foreach($value as $key2=>$value2) {
            if(array_search($menuPoint,$value)) {$i++;}
         }
         
         //Prüft ob Section gerade aufgerufen wurde
         if($menuPoint == $value['root']) {   
            
            //Prüft ob Section aufgerufen wurde
            if ($i==1) {
               $output .= "<img src=\"".$imageDirRoot."bullet5x5.gif\" width=9 height=9 border=0 />\n";
            }else{         
               $output .= "<img src=\"".$imageDirRoot."pfeil_runter.gif\" width=9 height=9 border=0 />\n";
            }
            $output .= "<a class=\"bg-weiss-present\" href=\"".$DirRoot.$value['root']."\">".$key."</a>\n";
         }else{            
            
            //Prüft ob in Section eine Untersection aufgerufen wurde
            if ($i==0) {
               $output .= "<img src=\"".$imageDirRoot."pfeil_rechts.gif\" width=9 height=9 border=0 />\n";
            }else{
               $output .= "<img src=\"".$imageDirRoot."pfeil_runter.gif\" width=9 height=9 border=0 />\n";
            }
            $output .= "<a class=\"bg-weiss\" href=\"".$DirRoot.$value['root']."\">".$key."</a>\n";
         }
         foreach($value as $key2=>$value2) {
            if(array_search($menuPoint,$value)) {
               
               //Prüft ob Untersection aufgerufen wurde
               if($key2 != "root") {
                  $output .= "</p>\n      <p>\n";
                  $output .= "<img src=\"".$imageDirRoot."px.gif\" width=9 height=9 border=0 />\n";
                  $output .= "<img src=\"".$imageDirRoot."bullet5x5.gif\" width=9 height=9 border=0 />\n";
                  if($menuPoint == $value2) {
                     $output .= "<a class=\"bg-weiss-sub-present\" href=\"".$DirRoot.$value2."\">".$key2."</a>\n";
                  }else{
                     $output .= "<a class=\"bg-weiss-sub\" href=\"".$DirRoot.$value2."\">".$key2."</a>\n";
                  }
               }
            }
         }
         $output .= "</p>\n";
      }
   }
   return $output;
}
?>
scorbio
 
Beiträge: 159
Registriert: 07.06.2005, 10:07
Wohnort: Erlangen



Ähnliche Themen


Zurück zu Artikel Softwareprogrammierung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste