[PHP] Quick Navigation Ansatz Problem!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [PHP] Quick Navigation Ansatz Problem!

    Tach zusammen!

    Ich hab ein kleines Anstatz Problem mit einer Quick Navigation.
    Ich hab kein Plan wie ich das am besten Umsetzen soll/kann.

    So sollst dann aussehen:
    PHP script resource Forum > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
    Ich hatte die Idee die Navigation Variable immer zu erweitern, sprich so:
    PHP-Code:
    $variable .= '» Link Verwaltung'
    Das ist ja auch kein Problem, aber wie mach ich es das der rest der Variable Verlinkt wird?
    So:" ACP Home >> Link Verwaltung >> Hardware " und zwar dynamisch am besten mit einer Funktion.

    Meine Script besteht aus mehreren Hauptdateien:
    - linklist.php
    - categorie.php
    - misc.php

    Die jeweils wieder in unterschiedliche Bereiche Unter Teilt sind
    - add
    - edit
    - del
    - view

    Wenn ich es so mache wie mein Einfall mit der Verketteten Variable dann hab ich doch Reduntante Daten, dass wollte ich vermeinden und das eher Elegant lösen.

    MfG
    Jan
    Zuletzt geändert von darealJP; 18.04.2004, 16:06.

  • #2
    wenn du die erste rubrik verlinken kannst, wieso nicht die letzte?

    Kommentar


    • #3
      Ja schon klar

      Das Problem ist nur

      wenn ich auf der Startseite bin wird ja jenes hier Angezeigt: Startseite >
      Die wird logischerweise nicht Verlinkt da ich ja auf dieser Seite bin.

      Aber wenn ich z.B. Hier bin Startseite >> Link Verwaltung >> Kategorie I
      Dann soll alles was vor Kategorie I ist Verlinkt werden.

      Ich könnte zwar bei jedem Script Abschnitt die Variable neu Definieren was meiner Meinung nach ziemlich umständlich währe.


      Mfg
      Jan

      Kommentar


      • #4
        Also ich würde mal sagen, alle Elemente in einem Array, das gehst du mit einer Schleife durch und verwandelst alle Elemente außer das letzte in Links. Anschließend fügst du dein Array mit Join zusammen und du hast deine Quick Navigation.
        hopka.net!

        Kommentar


        • #5
          oder eine kleine mysql tabelle die du direkt als sitemap missbrauchen kannst:
          id
          parentid
          name
          url

          und da alles eintragen ... also z.B. für : ACP Home >> Link Verwaltung >> Hardware
          1 | 0 | ACP Home | acp_home.php
          2 | 1 | Link Verwaltung | link_verwaltung.php
          3 | 2 | Hardware | link_verwaltung_hardware.php

          So kannst du in der Sitemap nen baummenü bauen in der Form:
          - Test
          - - Test 2
          - - - Test 3
          in dem du dir immer die Kinder elemente holst und deine positionsanzeige in dem du dir die eltern elemente holst ...

          ist zwar nicht die beste lösung aber funktioniert

          mfG
          CMS-X Medien- und Modelagentur

          Kommentar


          • #6
            Original geschrieben von darealJP
            wenn ich auf der Startseite bin wird ja jenes hier Angezeigt: Startseite >
            Die wird logischerweise nicht Verlinkt da ich ja auf dieser Seite bin.

            Aber wenn ich z.B. Hier bin Startseite >> Link Verwaltung >> Kategorie I
            Dann soll alles was vor Kategorie I ist Verlinkt werden.

            Ich könnte zwar bei jedem Script Abschnitt die Variable neu Definieren was meiner Meinung nach ziemlich umständlich währe.
            Dir ist aber schon klar, dass HTTP ein zustandsloses Protokoll ist, und du die Navigationsvariable sowieso jedes mal neu definieren musst. erst recht, wenn du von 1.1.3 nach 1.2.1 wechselst.

            machs so, wie H. vorgeschlagen hat.

            Kommentar


            • #7
              Tach Nochmal

              Habe es jetzt mit der array Methode gelöst.

              Hier der Code:
              PHP-Code:

              /*
              * buildHref baut mir ein <a href></a> Tag und hängt die SessionId dran.
              */
              $navigation buildHref('ACP Home','index.php').' &raquo; ';


              /*
              * Link wird in Array gesetzt.
              */

              $navArray[] = buildHref('Link Verwaltung','linklist.php?mode=view');

              /*
              * buildNavigation setzt zwischen den Arrays den Seperator 
              * und fügt Arrays zu einen String zusammen.
              */

              $navigation.= buildNavigation($navArray);

              echo 
              $navigation
              Sieht dann so aus:

              ACP Home &raquo; Linkverwaltung &raquo;

              Hier die Beiden Funktion:
              PHP-Code:
              function buildHref($title,$link)
              {
                  global 
              $sessionId;

                  if(
              strpos($link'?') || strpos($link'&')) $add '&amp;sid='.$sessionId;
                  else 
              $add '?sid='.$sessionId;

                  
              $link.= $add;
                  
              $link '<a href="'.$link.'" target="_self">'.$title.'</a>';

                  return 
              $link;
              }

              function 
              buildNavigation($array)
              {
                  if(!
              is_array($array)) return FALSE;

                  
              $result '';
                  while(list(
              $key$val) = each($array)) $result .= $val.' &raquo; ';

                  return 
              $result;

              MfG
              Jan

              Kommentar


              • #8
                Ich meinte das eher so:
                PHP-Code:
                $navigation = Array();
                $navigation[] = Array('title' => 'ACP Home''url' => 'index.php');
                $navigation[] = Array('title' => 'Link Verwaltung''url' => 'linklist.php?mode=view'); 
                Dieses Array gehst du mit einer for-Schleife durch, damit du weißt, an welcher Stelle des Arrays du dich grade befindest. Wenn du dich nicht an der letzten Stelle befindest, wandelst du das aktuelle Unter-Array in einen Link um (BuildHref). Dadurch erreichst du, dass das letzte Element deiner Quicknavigation nicht verlinkt ist - so wie du es ursprünglich haben wolltest.
                Anschließend hast du dann ein Array, dass nur noch aus Links besteht.
                PHP-Code:
                $navlinks = Array('<a href="#">ACP Home</a>',' <a href="#">Link Verwaltung'); 
                Dieses kannst du dann mit join / implode zusammensetzen zu deiner Quicknavigation. Als Verbindungszeichen (glue) verwendest du dein Raquo.
                hopka.net!

                Kommentar

                Lädt...
                X