Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: php Navigation wie SpryNavigation

  1. #1
    Meister(in) Avatar von DarkEmperor
    Registriert seit
    23.04.2010
    Ort
    Freital
    Alter
    24
    Beiträge
    356
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    5

    Frage php Navigation wie SpryNavigation

    Moin moin,
    ich habe mal ne Frage! Und zwar:
    Gibt es eine Möglichkeit eine Navigation im Prinzip einer sprynavigation nur mit php zu erstellen? Sprich eine Navigation mit Stichpunkten und wenn zu dem einen Unterpunkte sind das die bei hover aufgeblättert werden?
    Wäre nicht tragisch wenn es das nicht gibt, die Sprynavigation habe ich aber ein paar Einstellung die ich gern hätte wollen da irgendwie nicht funktionieren!
    z.B.:
    • Unterscheidung von Links und Überschriften
    • bewegende Grafik (von aktivier Seite zu hover)
    • Unterscheidung von normalem Link und aktiver Seite


    Wenn es geht würde ich mich freuen wenn mir jemand irgendwie nen simples Beispielscript geben könnte!?

    MfG
    Tom
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Kaiser(in)
    Registriert seit
    29.03.2009
    Ort
    1011 1111 1011 WorldWideWeb
    Beiträge
    2.439
    Danke
    2
    Bekam 6 mal "Danke" in 6 Postings

    Standard AW: php Navigation wie SpryNavigation

    Ich Glaub, ich erklär dier erstmal, wie PHP Funktioniert. Wenn du eine Seite aufrufst, z.B. index.html dann Schaut Apache, ob das ne Datei ist, die er ausführen muss. In diesem Fall nicht (Man kann html dateien ausführbar machen, hat aber keinen sinn). Also öffnet Apache die Datei und sendet den inhalt an den Browser - Du bekommst die HTML-Seite angezeigt.
    Ist es aber (z.B.) eine PHP-Datei, geht Apache die von oben bis unten durch, sendet alles was nicht in PHP-Tags steht an den Browser und was in den PHP-Tags steht wird an den PHP-Parser weitergegeben. Und alles echo im PHP wird dann vom parser zurückgegeben und Apache sendet es. Jetzt stell dir mal vor, die das möglich sein, mit PHP bewegte Grafiken zu machen?
    Das war jetzt nicht zur Strafe - nur zur Übung und das du PHP verstehst. Was man mit PHP Machen kann ist die aktuele seite hervorheben, denn das kann man ja beim Seitenaufruf mit einbauen. Allerdings musst du dann deine Links in eine Datenbank speichern.
    PHP-Code:
    // Die Aktuelle URL herausfinden, inkl. aller GET-Variablen
    $location=substr($_SERVER["PHP_SELF"], strrpos("/"$_SERVER["PHP_SELF"]), 0);
    foreach (
    $_GET as $key=>$value) {
         if (
    $_GET[$key]==$_GET[0]) $location.="?"; else
         
    $location.="&";
         
    $location.=$key."=".$value;
    }
    // Die links auslesen
    if ($res=mysql_query("SELET name, href FROM links")) {
        while (
    $erg=mysql_fetch_arrray()) {
            
    // Den Href ausgeben
            
    echo "<a href=\"".$erg["href"]."\"";
            /
    7 Fals der href der URL istCSS klasse active hinzufügen
            
    if ($erg["href"]==$location) echo " class=\"active\"";
            echo 
    ">";
        }

    Nur die Sprynavigation kannst du mit CSS machen, wenn du es bewegen willst musst du JavaScript verwenden.
    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.
    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  3. #3
    König(in) Avatar von Grevas
    Registriert seit
    20.04.2009
    Ort
    In meiner Wohnung.
    Alter
    30
    Beiträge
    1.039
    Danke
    0
    Bekam 5 mal "Danke" in 5 Postings

    Standard AW: php Navigation wie SpryNavigation

    Zitat Zitat von Tobse Beitrag anzeigen
    [...]Allerdings musst du dann deine Links in eine Datenbank speichern.[...]
    Bitte was?
    Da gibt es einige andere Möglichkeiten!

  4. #4
    Meister(in)
    Themenstarter
    Avatar von DarkEmperor
    Registriert seit
    23.04.2010
    Ort
    Freital
    Alter
    24
    Beiträge
    356
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    5

    Frage AW: php Navigation wie SpryNavigation

    Die da dann wären???^^
    Gut, mit der Datenbank ist kein Problem da ich bis zu zwei Datenbanken machen kann mit unbegrenzt Tabellen! Müsste mich dann nur mal in dein Script reinfitzen damit ich verstehe was für was zuständig ist!
    Mit der Hilfe habe ich kein Problem da ich um genau zu sein so viel Ahnung von php hab wie nen Pinguin weiß wie nen Eisbär aussieht!
    Aber kommt mir auch etwas umständlich vor!

    MfG

  5. #5
    König(in) Avatar von Grevas
    Registriert seit
    20.04.2009
    Ort
    In meiner Wohnung.
    Alter
    30
    Beiträge
    1.039
    Danke
    0
    Bekam 5 mal "Danke" in 5 Postings

    Standard AW: php Navigation wie SpryNavigation

    Also für eine Navigation würd ich keine Datenbank bemühen, du kannst, wenn du schon das von Tobse verwenden solltest, direkt die Variable in deine navi.php übernehmen.

    Außer du machst dir n template, dann würd ich dafür eine extra config.php machen.


    Aber da gibts noch andere vorgehensweisen...
    Ne Schleife ist zwar am Sinnvollsten, aber Bedingungen wären auch noch möglich.

    Mal n einfacheres Beispiel mit einer Schleife.

    PHP-Code:
    <?php
    $navi 
    = array(
    "Startseite" => "Startseite",
    "Humbug_am_Morgen" => "Humbug am Morgen"
    );
    echo 
    "<ul>";
    foreach(
    $navi as $href => $text) {
        if(
    $_GET['site'] == $href)
            echo 
    "<li><a href='?site=$href' class='selected'>$text</a></li>";
        else
            echo 
    "<li><a href='?site=$href'>$text</a></li>";
    }
    echo 
    "</ul>"
    ?>
    //p.s. natürlich gibts noch andere Möglichkeiten eine Navi aufzubauen, aber wenn man lernen will, sollte man sich auch was überlegen :P
    Und das Tobse seine Scripte nie testet bevor er sie abschickt, ist hier allen bekannt - also nicht wundern, wenn er da noch ein paar macken hat
    Geändert von Grevas (24.04.2010 um 12:31 Uhr)

  6. #6
    Kaiser(in)
    Registriert seit
    29.03.2009
    Ort
    1011 1111 1011 WorldWideWeb
    Beiträge
    2.439
    Danke
    2
    Bekam 6 mal "Danke" in 6 Postings

    Standard AW: php Navigation wie SpryNavigation

    Sicher, man kann die Komplette ausgabe parsen und das prüfen, überall wo href ist. Aber mir schien die DB-Sache einfacher.
    EDIT:
    Ach verdammt *vor den Kopf schlag* Drauf hätte ich auch kommen können....
    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.
    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  7. #7
    Meister(in)
    Themenstarter
    Avatar von DarkEmperor
    Registriert seit
    23.04.2010
    Ort
    Freital
    Alter
    24
    Beiträge
    356
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    5

    Standard AW: php Navigation wie SpryNavigation

    Da das Script von Grevas das ist wo ich überhaupt dahinter steige werde ich wenn dann das nehmen!
    Sry ... das andre script ist bestimmt auch toll aber komm nicht ganz rein was da was bedeutet!

    PHP-Code:
    <?php
    $navi 
    = array(
    "Startseite" => "Startseite",
    "Humbug_am_Morgen" => "Humbug am Morgen"
    );
    echo 
    "<ul>";
    foreach(
    $navi as $href => $text) {
        if(
    $_GET['site'] == $href)
            echo 
    "<li><a href='?site=$href' class='selected'>$text</a></li>";
        else
            echo 
    "<li><a href='?site=$href'>$text</a></li>";
    }
    echo 
    "</ul>"
    ?>
    Und jetzt wieder meine typischen ich will sicher gehen Fragen!
    In
    PHP-Code:
    $navi = array(

    ); 
    gibt man die Navigationsnamen der links ein? Sprich wenn ich
    HTML-Code:
    <a href="index.php">Startseite</a>
    <a href="seite2.php">Hallo hier</a>
    als Navigationslinks habe müsste ich dann
    PHP-Code:
    $navi = array(
    "Startseite" => "Startseite",
    "Hallo_hier" => "Hallo hier",
    ); 
    schreiben oder?

    Mit
    PHP-Code:
    if($_GET['site'] == $href
    hole ich mir erst den aktiven Navigations erweiterungslink der Navigation was wir in dem anderen Thema schon hatten!^^ und vergleiche ihn mit allen Navigationspunkten die im array oben stehen! Der Link mit dem es übereinstimmt wird dann class='selected' gesetzt was ich in der css dazu bestimmen muss!?

    das einzige wo ich noch nicht dahinter gekommen bin ist wie ich das dann in meine Navigation einbinde!?

    Bis jetzt habe ich ja:

    HTML-Code:
    ...
    <li><a class="MenuBarItemSubmenu" href="#" title="Liste aller News nach Monat sortiert">Herold</a>
        <ul>
         <li><a class="MenuBarItemSubmenu" href="#" title="Liste aller News im April">April</a>
          <ul>
           <li><a href="?site=19042010" title="News des 19.04.2010">19.04.2010</a></li>
           <li><a href="?site=18042010" title="News des 18.04.2010">18.04.2010</a></li>
           <li><a href="?site=15042010" title="News des 15.04.2010">15.04.2010</a></li>
          </ul>
         </li>
        </ul>
      </li>
    ...
    das als Navigation! Habe extra das komplexeste raus gesucht!
    Wie müsste ich dann diesen Vergleich ob Aktiv oder nicht einbauen?

    MfG
    Tom

  8. #8
    Kaiser(in)
    Registriert seit
    29.03.2009
    Ort
    1011 1111 1011 WorldWideWeb
    Beiträge
    2.439
    Danke
    2
    Bekam 6 mal "Danke" in 6 Postings

    Standard AW: php Navigation wie SpryNavigation

    PHP-Code:
    $navi=array (
        
    "Link_Ohne_Untermenü"=>"foo",
        
    "Link_mit_untermenü"=>array (
               
    "Link"=>"bar",
               
    "NochnMenü"=>array (
                     
    "Alpha"=>"Beta"
               
    )
         )
    );
    function 
    buildNavi($navi) {
        echo 
    "<ul>";
        foreach (
    $navi as $name => $href) {
             echo 
    "<li>";
             if (
    gettype($href)=="array") {
                 echo 
    "<a>".$name."</a>";
                 
    buildNavi($href);
             } else {
                 echo 
    "<a href=\"index.php?site=".$href."\"";
                 if (
    $href==$_GET["site"]) echo " class=\"active\"";
                 echo 
    ">".$name."</a>";
             }
             echo 
    "</li>";
        }
        echo 
    "</ul>";
    }
    buildNavi($navi); 
    Jetzt geht PHP durch das Array, der SChlüsel ("foo"=>"bar") ist der Linkname, der eintrag ("foo"=>"bar") der Seitenname (href). Wenn der ein Array ist, also untermenü, ruft sich die Funktion selbst auf und dann passiert das gleiche. Ist es aber kein Array, sondern Text, wird <li><a href="index.php?site=$href" ausgegeben. Wenn der href = der aktuellen seite ist, wird noch class="active" ausgegeben. Dazu kommt dann noch ></li>. Dann passt das.
    Du kannst beliebig viele untermenüs machen.
    Geändert von Tobse (24.04.2010 um 13:22 Uhr)
    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.
    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  9. #9
    König(in) Avatar von Grevas
    Registriert seit
    20.04.2009
    Ort
    In meiner Wohnung.
    Alter
    30
    Beiträge
    1.039
    Danke
    0
    Bekam 5 mal "Danke" in 5 Postings

    Standard AW: php Navigation wie SpryNavigation

    Class="selected" hast richtig verstanden. Aber das Array nicht.

    Array(
    "HREF" => "TEXT"
    )

    Das ist der Aufbau in dem Fall (kann man auch tauschen).

    Und wenn du mehrere Navigationen hast mach dir ne Funktion draus.

    PHP-Code:
    function Build_navi($array$class "") {
    $content =  "<ul>";
    foreach(
    $array as $href => $text) {
        if(
    $_GET['site'] == $href)  {
            if(!empty(
    $class)) $class .= " " $class;
            
    $content .= "<li><a href='?site=$href' class='selected$class'>$text</a></li>";
        }
        else {
            if(!empty(
    $class)) $class " class='$class'";
            
    $content .= "<li><a href='?site=$href'$class>$text</a></li>";
        }
    }
    $content .= "</ul>"
    return $content

    //P.S. Tobse, jetzte kommst ihm mit Rekursion - na ob das was wird *G*
    Geändert von Grevas (24.04.2010 um 13:26 Uhr)

  10. #10
    Pion
    Gast

    Standard AW: php Navigation wie SpryNavigation

    Woher die Daten für die Navi kommen ist im Endeffekt egal, wie du es lieber haben willst, mit der DB ist es halt übersichtlicher und leicht zu verändern, wenn man aber nicht viele Links hat oder nur ne kleine Seite ist Array auch voll und ganz in Ordnung


    mfg

Ähnliche Themen

  1. Navigation - IE 6
    Von canyon112 im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 08.04.2009, 21:42
  2. Navigation
    Von Toooooni im Forum Flash Forum
    Antworten: 12
    Letzter Beitrag: 24.01.2008, 11:32
  3. Navigation
    Von Urgulf im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 08.11.2006, 17:36
  4. Navigation auf HP
    Von im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 11.02.2006, 13:08
  5. Navigation
    Von McFly im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 13.02.2005, 11:49

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •