Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Aktive Links Markieren

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Aktive Links Markieren

    Also das Problem ist folgendermassen.

    Anstelle von Frames benutzen wir eine Tabelle, die Inhalte aus einer anderen Seite einliest. Nun möchten wir den aktiv geladenen Teil oben in der Linkliste mit einer anderen Farbe markieren.

    Wir haben scho ALLES!! von Sessions bis und mit Variabeln übergabe versucht, doch nichts klappt. Jetz sind wir so weit, das es 2 klicks benötigt, das der Link markiert wird..

    Warum?????

    Hat jemand das auch schon gemacht und kann mal seinen Code zur verfügung stelle, das würde mich wenigstens vom selbstmord abhalten

  • #2
    Könnte dir da z.B. meine Klasse "HTML_optionList" geben.

    Diese (zusammen mit sinnigen CSS-Definitionen) erstellt Links auf Basis <ul>[*] und erkennt von allein, wo geklickt wurde.
    Setzt dort ein anderes Format druff und gibt dir über eine Methode auch zurück was da klickt ist.
    (unglücklicherweise benutzt sie noch eine propriätere Funktion für die Erstellung von Links, da es sich aber auf 1 Codezeile beschärnkt, liesse sich das austauschen)

    Ist eine von hunderten Varianten ^^


    Besser: Du beschreibst, wie du es gelöst hast, dann kann man dort einlenken.

    Kommentar


    • #3
      mach es doch einfach mit einer variable $section die du in jedem script(news.php, gb.php, contact.php usw...) initalisierst und ihr dann den jeweiligen wert zuweist...
      z.b.
      Code:
      $section="news";
      dann machst du im menü eine abfrage für jeden link:
      hier mal der für news
      Code:
      if($section=="news"){
      $class="aktiv";
      } else {
      $class="inaktiv"
      }
      ">News
      die klassen .aktiv und .inaktiv musst du dann nur noch in css definieren

      Kommentar


      • #4
        @burner

        klar danke.. das einfachste ist wohl immer das, was man vergisst
        Ich geb ein feedback wenns funktioniert hat.

        Kommentar


        • #5
          Naja, also funktioniert leider auch noch nicht wirklich..
          Ok, jetz bin ich so weit und darf sagen, meine Version wäre doch auch gegangen.

          Es ist einfach komisch..
          Ich include ja die SeitenInhalte in eine Tabelle, wenn ich doch auf dieser Seite in eine Variable $section einen Inhalt "home" schreibe, dann muss das doch übergeben werden. Es lädt ja den Code in die Index, da es includiert wird. Warum meint der immer, das die Variable leer ist??

          Ich schnall das nicht.. das muss doch gehen.
          Ich habe es so gemacht wie burner es oben beschrieben hat.
          Dann passiert nix.. die Variable bleibt immer leer, ach und ja.. bei burner kommt oben nach inaktiv ein ; das hab ich nicht vergessen und die css ist auch i.o.

          muss ich eine session starten?
          session_start();
          session_register("section");

          Wenn ich das mache, würde es gehen, aber dann brauche ich 2 Klicks bis es geht. Wer klickt schon 2x auf den selben Link nur das es markiert

          Kommentar


          • #6
            So.. geht doch.. hab einfach viel zu weit studiert.
            Habs so gelöst.

            Code:
            <?
               if($site=="profile"){ $class="aktiv"; } 
               else { $class="inaktiv"; } 
            ?>
               <th width="108" scope="col">">profile
            Fazit
            Im Tag <a> sieht man ja, das ich sowieso schon eine Variabel über die URL übergebe, und ich hirni hab erst jetz bemerkt, das ich ja am besten gleich die überprüfen sollte

            Tz.. immer kompliziert, wenns doch so einfach geht.

            Kommentar


            • #7
              Zusatz
              Evt möchte man noch die wenn die Seite aufgerufen wird, Home markieren.
              Man kann das obere einfach ergänzen.
              Code:
               <? php
              if (!$site) {  // falls Variabel $site noch nicht vorhanden, setze $site="home".
              	$site="home"; }
              ?>
              Vielleicht fragt sich jetz einer, warum sollte wohl die Variabel $Site noch nicht vorhanden sein?!
              Ganz einfach, wir übergeben die Variabel ja mit der URL, die Variabel wird also
              erst erstellt, wenn die URL angeklickt wird, beim ersten Seitenaufruf jedoch
              hat natürlich noch keiner geklickt, also ist die Variabel noch nicht da.

              Kommentar

              Lädt...
              X