jaquline: (Anfängerfrage) Menü-Steuerung (ohne URL auszulesen?)

Ich grüße euch,
ich habe eine einfache Webseite in HTML erstellt. Diese würde ich nun gerne in PHP umschreiben, um die viele Redundanz (z.B. im Menü) zu eleminieren.

Ich habe ein "klassisches" Menü, also 5 Punkte, die bei einem Mouseover die Farben ändern und, falls ausgewählt, ebenfalls anders aussehen sollen.

Meine Frage ist nun, wie ich das in PHP entspr. programmiere. Also woher "weiß" das Menü, auf welcher Unterseite sich der Benutzer befindet um den entspr. Menüeintrag entspr. hervorzuheben? Muss man dazu die URL auslesen oder geht das auch irgendwie anders / eleganter?

Ich danke euch
j.

  1. Mahlzeit jaquline,

    ich habe eine einfache Webseite in HTML erstellt. Diese würde ich nun gerne in PHP umschreiben, um die viele Redundanz (z.B. im Menü) zu eleminieren.

    Löblicher Vorsatz! :-)

    Ich habe ein "klassisches" Menü, also 5 Punkte, die bei einem Mouseover die Farben ändern und, falls ausgewählt, ebenfalls anders aussehen sollen.

    Was verstehst Du unter einem "klassischen" Menü? Das Aussehen und Verhalten ist nämlich das eine - die (HTML-)Struktur ist allerdings mindestens genauso wichtig und interessant. Lass uns doch bitte mal ein wenig Quellcode sehen ...

    Meine Frage ist nun, wie ich das in PHP entspr. programmiere. Also woher "weiß" das Menü, auf welcher Unterseite sich der Benutzer befindet um den entspr. Menüeintrag entspr. hervorzuheben?

    Das Menü weiß gar nichts. Das PHP-Skript, das Deine Seite(n) aufbaut bzw. das Menü generiert, kann ermitteln, auf welcher Seite sich der Benutzer gerade befindet (z.B. über die URL, über GET-Parameter o.ä.) und den entsprechenden Menüeintrag hervorheben.

    Muss man dazu die URL auslesen oder geht das auch irgendwie anders / eleganter?

    1. Ja und

    2. was verstehst Du unter "eleganter"? Was ist daran unelegant?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. DANKE für die antwort!

      Mahlzeit jaquline,

      hm, hab mich mal wieder bei meinem namen vertippt.... :)

      Was verstehst Du unter einem "klassischen" Menü? Das Aussehen und Verhalten ist nämlich das eine - die (HTML-)Struktur ist allerdings mindestens genauso wichtig und interessant. Lass uns doch bitte mal ein wenig Quellcode sehen ...

      Das Menü ist nix besonderes. Habe es als Liste <ul> aufgebaut und gebe den einzelnen Punkten <li> entspr. IDs mit.

      Das Menü weiß gar nichts. Das PHP-Skript, das Deine Seite(n) aufbaut bzw. das Menü generiert, kann ermitteln, auf welcher Seite sich der Benutzer gerade befindet (z.B. über die URL, über GET-Parameter o.ä.) und den entsprechenden Menüeintrag hervorheben.

      Also ich häte das jetzt z.B. so gemacht
      $page=$HTTP_GET_VARS["p"];

      im aus der URL index.php?p=projekte die Unterseite zu ermitteln. Im Menü schreib ich dann innerh. vom PHP

      if($page==projekte) -> id="active"

      1. was verstehst Du unter "eleganter"? Was ist daran unelegant?

      Das wirkt auf mich recht umständlich irgendwie. Und unübersichtlich, weil ich jetzt bei jedem Menüpnkt ein if($page=xxxx) davorhängen muss. Daher die Frage, ob ich damit überhaupt auf dem richtigen Weg bin :-)

      danke für deine zeit
      j.

      1. Mahlzeit jacqueline,

        Das Menü ist nix besonderes. Habe es als Liste <ul> aufgebaut und gebe den einzelnen Punkten <li> entspr. IDs mit.

        Das ist schon mal sehr gut - da vernünftig strukturiert.

        Also ich häte das jetzt z.B. so gemacht
        $page=$HTTP_GET_VARS["p"];

        Einerseits ist dieses Umkopieren nicht sinnvoll (1. überflüssig und 2. verschleierst Du die Herkunft der Variablen $page ... weiter unten im Skript ist evtl. nicht mehr klar, wo der Inhalt herkommt) und andererseits solltest Du lieber das superglobale Array $_GET verwenden.

        if($page==projekte) -> id="active"

        Du hast eine Konstante namens "projekte" definiert?

        Das wirkt auf mich recht umständlich irgendwie. Und unübersichtlich, weil ich jetzt bei jedem Menüpnkt ein if($page=xxxx) davorhängen muss.

        Nicht zwangsläufig.

        Daher die Frage, ob ich damit überhaupt auf dem richtigen Weg bin :-)

        Das kommt darauf an, wie Du das Menü aufbaust. Wenn Du z.B. die Menüstruktur in einem Array vorliegen hast, musst Du Dich nur innerhalb einer Schleife durch dieses Array durcharbeiten und kannst den gleichen Code (Überprüfung, ob aktueller Menüpunkt der ausgewählte ist usw.) mehrfach verwenden.

        Genau könntest Du natürlich diese Prüfung samt "Aktivierung" des jeweiligen Menüpunkts in eine Funktion auslagern, die Du dann nur noch mit dem Wert des aktuellen Menüpunkts als Parameter aufrufst - dann hast Du den jeweiligen Code auch nur einmal.

        Zeig einfach mal den relevanten Code, der Dein Menü aufbaut.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Einerseits ist dieses Umkopieren nicht sinnvoll (1. überflüssig und 2. verschleierst Du die Herkunft der Variablen $page ... weiter unten im Skript ist evtl. nicht mehr klar, wo der Inhalt herkommt) und andererseits solltest Du lieber das superglobale Array $_GET verwenden.

          also so?
          $page=$GET["page"];

          Genau könntest Du natürlich diese Prüfung samt "Aktivierung" des jeweiligen Menüpunkts in eine Funktion auslagern, die Du dann nur noch mit dem Wert des aktuellen Menüpunkts als Parameter aufrufst - dann hast Du den jeweiligen Code auch nur einmal.

          Zeig einfach mal den relevanten Code, der Dein Menü aufbaut.

          Noch schaut's im HTML so aus:

          <div id="menu">
                  <ul>
                  <li id="active">WILLKOMMEN</li>
                  <li><a href="#">UNTERNEHMEN</a></li>
                  <li><a href="#">LEISTUNGEN</a></li>
                  <li><a href="#">PROJEKTE</a></li>
                  <li><a href="#">KONTAKT</a></li>
                  </ul>
              </div><!--end div menu-->

          Ein Untermenü wird es wohl nicht geben.
          D.h. am "schlausten" wäre es, alles in ein array zu packen und jedes Elemt bei der Ausgabe mit $page zu vergleichen?

          Danke nochmal
          j.

          1. Mahlzeit jacqueline,

            also so?
            $page=$GET["page"];

            Nein.

            Außerdem kopierst Du immer noch sinnlos um. Warum genau tust Du das? :-)

            <div id="menu">
                    <ul>
                    <li id="active">WILLKOMMEN</li>
                    <li><a href="#">UNTERNEHMEN</a></li>
                    <li><a href="#">LEISTUNGEN</a></li>
                    <li><a href="#">PROJEKTE</a></li>
                    <li><a href="#">KONTAKT</a></li>
                    </ul>
                </div><!--end div menu-->

            Dass Deine Menüpunkte nirgendwohin führen, ist Dir klar?

            Ein Untermenü wird es wohl nicht geben.

            "Wohl"? Wie sicher ist das? Kannst Du es kategorisch ausschließen? Dann reicht ein einfaches Array, das Du durchläufst. Ansonsten würde ich es lieber jetzt gleich so bauen, dass es (z.B. durch Untermenüs) erweiterbar ist und später nicht nochmal wieder angefasst werden muss.

            D.h. am "schlausten" wäre es, alles in ein array zu packen und jedes Elemt bei der Ausgabe mit $page zu vergleichen?

            Nein. Am "Schlausten" wäre es, sich Gedanken über die o.g. Fragen zu machen und dann zu entscheiden, wie man vorgeht ... in keinem Fall schlau ist es jedoch, mit $page zu vergleichen - ich würde den Vergleich mit $_GET['page'] empfehlen.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. ich würde den Vergleich mit $_GET['page'] empfehlen.

              Ok, danke. Für alles andere auch :-)

      2. Also ich häte das jetzt z.B. so gemacht
        $page=$HTTP_GET_VARS["p"];

        Du solltest zugunsten dieses wohl eher $_GET[]; verwenden und zudem ein unnötiges umkopieren (bzw. verweisen) in eine andere Variable vermeiden.

        im aus der URL index.php?p=projekte die Unterseite zu ermitteln. Im Menü schreib ich dann innerh. vom PHP

        if($page==projekte) -> id="active"

        Das wirkt auf mich recht umständlich irgendwie. Und unübersichtlich, weil ich jetzt bei jedem Menüpnkt ein if($page=xxxx) davorhängen muss. Daher die Frage, ob ich damit überhaupt auf dem richtigen Weg bin :-)

        Ja, eine if-Verzweigung ist unelegant/umständlich, eine switch-Verzweigung ist sicher effizienter - aber ansonsten ist nichts dagegen einzuwenden.

        Im übrigen würde ich den derzeitigen Menüpunkt mit der ID "current" (besser eine Klasse - es könnte ja mehrere Menüs geben) versehen, "active" könnte so schnell zu Verwechslungen mit der Pseudoklasse :active führen.

        Noch besser, verlinke den derzeitigen Menüpunkt nicht (unter anderem aus Usability-Gründen) - ersetze das a-Element durch ein span-Element - so ist eine Unterscheidung ebenfalls eindeutig möglich.

        1. kurzum:

          • $GET statt $HTTP_GET_VARS
          • switch statt if
          • current statt active

          Danke für die Tipps! Werde ich berücksichtigen! :)

          1. Hello,

            - $_GET statt $HTTP_GET_VARS

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
          2. Hallo

            • $GET statt $HTTP_GET_VARS

            Wenn es $_GET ist, ja (beachte den Unterstrich "_").

            • switch statt if

            Bei dieser Struktur empfinde ich die Abarbeitung eines Arrays in einer Schleife für sinnvoller. Innerhalb der Schleife prüfst du die Daten des aktuell zu bearbeitenden Menüpunkts darauf, ob seine URL mit der des aktuell aufzubauenden Dokuments übereinstimmt, und stattest ihn nicht mit den in den anderen Durchläufen einzufügenden Link-Tags aus. Das geschieht dann mit einem if-else-Konstrukt (entweder Nichtlink evtl. mit #current oder Link).

            • current statt active

            Ja, das könnte aber auch anders heißen. Es ging EKKi darum, einer Verwechslung mit der Pseudoklasse ":active" aus dem Weg zu gehen.

            Tschö, Auge

            --
            Die deutschen Interessen werden am Liechtenstein verteidigt.
            Veranstaltungsdatenbank Vdb 0.3
            1. Es ging EKKi darum, einer Verwechslung mit der Pseudoklasse ":active" aus dem Weg zu gehen.

              Bin ich jetzt schon ein der multiplen Persönlichenkeiten von EKKi oder was? :D

              1. Hallo

                »» Es ging EKKi darum, einer Verwechslung mit der Pseudoklasse ":active" aus dem Weg zu gehen.

                Bin ich jetzt schon ein der multiplen Persönlichenkeiten von EKKi oder was? :D

                Doh', sorry, habe nur über das Textarea geschielt und mich in der falschen Zeile wiedergefunden. :-(

                Tschö, Auge

                --
                Die deutschen Interessen werden am Liechtenstein verteidigt.
                Veranstaltungsdatenbank Vdb 0.3
              2. Hello,

                Es ging EKKi darum, einer Verwechslung mit der Pseudoklasse ":active" aus dem Weg zu gehen.

                Bin ich jetzt schon ein der multiplen Persönlichenkeiten von EKKi oder was? :D

                Wer außer Dir weiß das schon?
                Vielleicht noch Herr Schäuble und uns Uschi...

                Liebe Grüße aus dem schönen Oberharz

                Tom vom Berg

                --
                Nur selber lernen macht schlau
                http://bergpost.annerschbarrich.de
              3. Mahlzeit suit,

                Bin ich jetzt schon ein der multiplen Persönlichenkeiten von EKKi oder was? :D

                Neun von zehn Stimmen in meinen Kopf sagen ich bin nicht verrückt. Die andere summt die Melodie von Tetris.

                Früher war ich schizophren - heute sind wir zu dritt.

                MfG,
                EKKi

                --
                sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        2. ach und was genau meintest du damit?

          ::besser eine Klasse - es könnte ja mehrere Menüs geben

          danke :)

          1. Mahlzeit jacqueline,

            ::besser eine Klasse - es könnte ja mehrere Menüs geben

            http://de.selfhtml.org/html/attribute/allgemeine.htm#uebersicht@title=IDs müssen dokumentweit eindeutig sein. Wenn Du also z.B. zwei Menüs auf einer Seite hast und beide Menüs einen Menüpunkt beinhalten, der die ID "current" hat, dann ist Dein Dokument invalide.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  2. Hello,

    als erstes solltest Du die mal einige Begriffe klarmachen

    • absolute Adressierung

    • relative Adressierung

    • Documen Root

    • Server Root

    • Aktive Templates mit PHP

    • passive Templates mit PHP

    • Apache:
        -- Directory Index
        -- Path Info
        -- Url Rewriting

    ... oder Vergeleichbares bei anderen Webservern.

    • URL
    • URi
    • Get-Parameter und deren Codierung

    usw.

    Daraus kannst Du dann ein Grundkonzept wählen und deine Webstruktur entwickeln.
    Einfach blind drauf los führt sehr schnell zu schlechtem Design und unüberschaubarem Spaghetticode.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hallo Tom.

      • Aktive Templates mit PHP
      • passive Templates mit PHP

      Wenn du Templates gewisse Verhaltensweisen zuschreibst, solltest du auch erklären, was du damit meinst.

      Ich jedenfalls kann mir weder unter einem aktiven noch einem passiven Template etwas vorstellen.

      Servus,
      Flo

      1. Hello,

        Hallo Tom.

        • Aktive Templates mit PHP
        • passive Templates mit PHP

        Wenn du Templates gewisse Verhaltensweisen zuschreibst, solltest du auch erklären, was du damit meinst.

        Ich jedenfalls kann mir weder unter einem aktiven noch einem passiven Template etwas vorstellen.

        Und was sagt Google?
        Ich fand 333.000 und 307.000 Treffer. Da sollten doch welche drunter sein, die den Unterschied zwischen

        aktiv   -> Kontrolle abgeben
        und
           passiv  -> Kontrolle behalten

        für PHP und Templates ausreichend darstellen.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Hallo Tom.

          Und was sagt Google?
          Ich fand 333.000 und 307.000 Treffer. Da sollten doch welche drunter sein, die den Unterschied [..] ausreichend darstellen.

          Ich habe nichts passendes gefunden.
          Bitte zeige mir die Treffer, die du meinst, vielleicht habe ich sie übersehen.

          aktiv   -> Kontrolle abgeben
             passiv  -> Kontrolle behalten

          Ich verstehe dich leider immer noch nicht.
          Die Kontrolle über was?

          Nach meinem Verständnis ist ein Template dazu da, ihm übergebene Werte darzustellen. Wo findet hier ein Kontrolle statt?

          Servus,
          Flo

          1. Hello,

            Ich habe nichts passendes gefunden.
            Bitte zeige mir die Treffer, die du meinst, vielleicht habe ich sie übersehen.

            Du hast gar nicht ernsthaft gesucht. Gib's doch ruhig zu!
            Du bist doch sonst immer so pfiffig :-)

            aktives Template    -> Kontrolle abgeben
                passives Template   -> Kontrolle behalten

            Ich verstehe dich leider immer noch nicht.
            Die Kontrolle über was?

            Über den Programmablauf! Um was sollte es beim Programmieren sonst gehen?

            Was ist daran im Kontext von "Programmierung" nicht zu verstehen, wenn man sagt "die Kontrolle abgeben" oder "die Kontrolle behalten"? Tut mir leid, ich rede deutsch. Solltest Du irgendwelche Affensprache dafür haben wollen, musst Du sie Dir selber raussuchen. *~#!

            Nach meinem Verständnis ist ein Template dazu da, ihm übergebene Werte darzustellen. Wo findet hier ein Kontrolle statt?

            Ein Template ist dazu da, festzulegen, an welcher Stelle Werte dargestellt werden sollen. Das ist richtig. Dazu muss es aber nicht selber aktiv werden. Das ist sogar i.A. unerwünscht.

            Nur bei den PHP-Anwendern hat sich leider die Unsitte durchgesetzt, den Templates die Kontrolle zu übergeben, also im Template aktiven PHP-Code zu schreiben. Das liegt vrmutlich daran, dass PHP ohnehin eine eingebettete Sprache ist.

            Durch Befehle, wie include(), require(), eval(), exec(), usw. wird die Kontrolle vom zur zeit aktiven Programm an das geladene Codesegment übergeben.

            Durch Befehle wie read(), str_replace(), preg_replace() usw. behält das aktive Programm die Kontrolle über das geladene / behandelte Codesegment und kann mit diesen weiterhin nach seinem Plan verfahren.

            Ein passives Template für PHP könnte z.B. so aussehen:

            #--- templatedatei.html ---

            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
            <html>
            <head>
              <title><!--{TITLE}--></title>
              <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
              <style type="text/css">
                 <!--{CSS-general}-->
              </style>
            </head>
                <body>
                    <!--{BODY-head}-->
                    <!--{BODY-content}-->
                    <!--{BODY-bottom}-->
                </body>
            </html>

            #--------------------------

            Die Daten, die vom Programm zusammengestellt wurden, können nun durch ein einfaches str_replace() dort eingestanzt werden, ohne die Programmkontrolle an das Template zu übergeben.

            <?php  ### template-engine.php ###

            $html = file_get_contents('templatedatei.html');

            $_output = array();

            # ---[1]--- die beiden folgenden Zeilen zum Testen mal auskommentieren
                $_output['<'.'?php'] = '<!-- php: ';   ## PHP-Starttags beseitigen
                $_output['?'.'>']    = ' -->';         ## PHP-Endtags beseitigen

            $_output['<!--{TITLE}-->'] = 'mein erstes passives Template';
                # ...
                $_output['<!--{BODY-content}-->] = '<p>hier kommt dann der Content</p>';

            $html = str_replace(array_keys($_output),$_output,$html);
                echo $html;

            ?>

            #---------------------------

            [1] PHP-Start- und Endtags, die sich fälschlicherweise doch im Template befinden könnten, werden beseitigt, um den Browser nicht zu verwirren. Da sie von PHP selbst unberührt bleiben, würden sie sonst mit ausgegeben werden.

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
            1. Hello,

              ich will den Fehler eben noch beseitigen...
              Man sieht ihn ja nicht auf den ersten Blick:

              Ein passives Template für PHP könnte z.B. so aussehen:

              #--- templatedatei.html ---

              <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
              <html>
              <head>
                <title><!--{TITLE}--></title>
                <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
                <style type="text/css">
                   <!--{CSS-general}-->
                </style>
              </head>
                  <body>
                      <!--{BODY-head}-->
                      <!--{BODY-content}-->
                      <!--{BODY-bottom}-->
                  </body>
              </html>

              #--------------------------

              Die Daten, die vom Programm zusammengestellt wurden, können nun durch ein einfaches str_replace() dort eingestanzt werden, ohne die Programmkontrolle an das Template zu übergeben.

              <?php  ### template-engine.php ###

              $html = file_get_contents('templatedatei.html');

              $_output = array();

              $_output['<!--{TITLE}-->'] = 'mein erstes passives Template';
                  # ...
                  $_output['<!--{BODY-content}-->] = '<p>hier kommt dann der Content</p>';

              # ---[1]--- die beiden folgenden Zeilen zum Testen mal auskommentieren
                    $_output['<'.'?php'] = '<!-- php: ';   ## PHP-Starttags beseitigen
                    $_output['?'.'>']    = ' -->';         ## PHP-Endtags beseitigen

              $html = str_replace(array_keys($_output),$_output,$html);
                  echo $html;

              ?>

              #---------------------------

              [1] Die Tag-Erstzugnen für PHP-Tags usw. müssen immer als letzte Elemente ins Replace-Array eingetragen werden. Dann kann man bedenkenlos auch andere Subtemplates einstanzen, die ihrerseits eventuell wieder unerlaubte PHP-Tags enthalten.

              Das ist mit str_replace() hier natürlich  ur ein einfaches Beispiel.
              Wenn man es ausbauen will, wird man wohl eher preg_replace() benutzen.

              Liebe Grüße aus dem schönen Oberharz

              Tom vom Berg

              --
              Nur selber lernen macht schlau
              http://bergpost.annerschbarrich.de
  3. hi,

    Meine Frage ist nun, wie ich das in PHP entspr. programmiere. Also woher "weiß" das Menü, auf welcher Unterseite sich der Benutzer befindet um den entspr. Menüeintrag entspr. hervorzuheben? Muss man dazu die URL auslesen oder geht das auch irgendwie anders / eleganter?

    Mit CSS funktioniert das ganze schon ganz gut, mit „URL auslesen“ wärst du aber besser bedient, da du dann den Link der gerade angezeigten Seite entlinken kannst.

    mfg

    --
    echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
    array(2) {
      ["SELFCODE"]=>
      string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
      ["Meaningful"]=>
      string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
    }
    1. hi,

      Mit CSS funktioniert das ganze schon ganz gut

      Mit Pipe Dream auch (gerade down)

      mit „URL auslesen“ wärst du aber besser bedient, da du dann den Link der gerade angezeigten Seite entlinken kannst.

      wasn das - entlinken?

      Adolf

      1. hi,

        Mit Pipe Dream auch (gerade down)

        Immer noch down, daher kann ich dass nicht beurteilen.

        » mit „URL auslesen“ wärst du aber besser bedient, da du dann den Link der gerade angezeigten Seite entlinken kannst.
        wasn das - entlinken?

        Das es kein Link mehr ist, sondern nur noch Text.

        Bspw.:

        <ul>  
        <li><a href="/">Home</a></li>  
        <li><a href="/sonstwas">Sonstwas</a></li>  
        <li><em>Aktive Seite</em></li> <!-- ich nenne sowas hier „entlinken“, k. A. wie man es sonst nennen soll -->  
        <li><a href="/impressum">Impressum</a></li>  
        </ul>
        

        mfg

        --
        echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
        array(2) {
          ["SELFCODE"]=>
          string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
          ["Meaningful"]=>
          string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
        }
        1. hi,

          »» Mit Pipe Dream auch (gerade down)
          Immer noch down, daher kann ich dass nicht beurteilen.

          Ja, schade vorgestern war alles noch ok.

          Ein Vorteil hat allerdings die CSS Lösung, man kann es ohne Interpreter benutzen, ich hatte es mal mit htaccess und SSI auf Arcor realisiert.

          Das es kein Link mehr ist, sondern nur noch Text.

          <ul>

          <li><em>Aktive Seite</em></li> <!-- ich nenne sowas hier „entlinken“, k. A. wie man es sonst nennen soll -->
          </ul>

          Achsoo, dachte schon is was aufregend sexistisches.  
            
          Adolf  
          
          
          1. hi,

            Ja, schade vorgestern war alles noch ok.

            Jetzt gerade konnte ich die Seite besuchen, allerdings scheint es mir, dass du die Frage von jaquline nicht ganz verstanden hast, denn Pipe Dream zeigt nur, wie man eine Horizontale Liste zentriert, nicht aber, wie man den Link der gerade angezeigten (aktiven) Seite hervorhebt.

            Achsoo, dachte schon is was aufregend sexistisches.

            Wir sind hier in einem HTML-Forum, so etwas würde mir noch nicht einmal ansatzweise durch den Kopf gehen.

            mfg

            --
            echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
            array(2) {
              ["SELFCODE"]=>
              string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
              ["Meaningful"]=>
              string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
            }
            1. hi,

              Jetzt gerade konnte ich die Seite besuchen, allerdings scheint es mir, dass du die Frage von jaquline nicht ganz verstanden hast, denn Pipe Dream zeigt nur, wie man eine Horizontale Liste zentriert, nicht aber, wie man den Link der gerade angezeigten (aktiven) Seite hervorhebt.

              Die Frage von jaquline habe ich schon verstanden, allerdings habe ich das originale PipeDream vor dem posten nicht nochmal kontrolliert. In der tat wird nur die Darstellung einer Liste behandelt, wobei  mMn das Hauptaugenmerk auf das Darstellen der einzelnen, durch Pipes(oder ähnlich Aussehendes) getrennte, Listenpunkte liegt und das Zentrieren der Liste nur eine 'Variation' ist. Die Hervorhebung des aktiven Links habe ich selbst hinzugefügt als ich das ganze mal ausprobiert hatte. Ich hab nochmal eine einfache Demo bei Arcor hochgeladen, du kannst es dir ja mal angucken und eventuell deine Meinung dazu sagen.

              gruss Adolf

              1. hi,

                Ich hab nochmal eine einfache Demo bei Arcor hochgeladen, du kannst es dir ja mal angucken und eventuell deine Meinung dazu sagen.

                Sieht Optisch zumindest ansprechender als diese Seite aus ;)

                Die Technik ist ja die gleiche, nur dass du bei den href-Elementen Klassen verwendest, statt IDs, wo mMn IDs aber angebrachter wären (es geht ja einzig und allein darum, die Links zu identifizieren).

                mfg

                --
                echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
                array(2) {
                  ["SELFCODE"]=>
                  string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
                  ["Meaningful"]=>
                  string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
                }