CSS-Tag via PHP-Variable über Adressleiste ansprechen? (Was zum Grübeln.)

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

  • CSS-Tag via PHP-Variable über Adressleiste ansprechen? (Was zum Grübeln.)

    Hallo zusammen,

    ich bin schon mehrere Tage am tüfteln, aber ich komme auf keine Lösung, daher schreibe ich nun mal ins Forum und hoffe auf Hilfe. ;-)

    Und zwar geht es um Folgendes:

    Ich programmiere derzeit eine Website in HTML mit einem PHP-Include für den Content.

    Wenn nun ein Link angeklickt wird, soll dieser (per CSS) solange angesprochen werden bis ein anderer Link aufgerufen wird.
    Also der Linktext soll einfach fett/bold werden, wenn er aufgerufen wird.

    Ich habe mir schon einiges überlegt wegen a.visited, a.hover, a.active usw.
    Aber das funktioniert nicht so wirklich.
    Die "a.visited" Geschichte klappt nicht, weil dann alle angeklickten Links fett bleiben.
    "a.hover" geht auch nicht, weil das ja nur beim Drüberfahren mit der Maus passiert.



    Meine Überlegungen sind jetzt folgende:



    Variante 1:


    Ich möchte für jeden klickbaren Link meines Menüs einen CSS-Tag definieren:

    Code:
    a.link1_angeklickt
    {color:gray; text-decoration:underline; font-weight:bold;}
    a.link2_angeklickt
    {color:gray; text-decoration:underline; font-weight:bold;}
    a.link3_angeklickt
    {color:gray; text-decoration:underline; font-weight:bold;}
    Und wenn nun z.B. Link2 angeklickt wird, soll dieser so lange "a.link2_angeklickt" ausführen, bis eine andere Seite aufgerufen wird.


    Man darf generell nicht vergessen, dass die komplette Website durch den PHP-Include jedes mal vollständig neu lädt.
    (Ansonsten wäre es ja kein Thema, wenn ich jede Seite als komplette HTML-Seite hätte.)



    Variante 2:

    Ist es möglich, einen bestimmten CSS-Tag per PHP-Variable über die Adressleiste anzusprechen?

    Also wenn ich z.B. folgenden Link habe ".....index.php?content=startseite&activate_link_startseite",
    dann soll die Variable "activate_link_startseite" in meinem CSS-Stylesheet aufgerufen werden.
    Und wenn die Variable im Link nicht dabei steht, soll alles so bleiben wie bisher.

    So könnte ich doch alles individuell gestalten.




    So, nun seid ihr gefragt.
    Wäre super, wenn ihr mir weiterhelfen könntet.

    Auch wenn es eine ganz andere Herangehensweise gibt. Ich bin für alles offen.



    Viele Grüße & Danke

    Mexx

  • #2
    Seh ich das richtig, dass es dir lediglich darum geht, den derzeit aktiven Link optisch hervorzuheben?
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

    Kommentar


    • #3
      Die Navigation wird doch sicher mit PHP erzeugt, oder? Dann einfach den GET-Parameter prüfen und dem entsprechenden Link eine Klasse verpassen. Das war's.

      Peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Zitat von Quetschi Beitrag anzeigen
        Seh ich das richtig, dass es dir lediglich darum geht, den derzeit aktiven Link optisch hervorzuheben?
        Richtig. ;-)

        Kommentar


        • #5
          Zitat von Kropff Beitrag anzeigen
          Die Navigation wird doch sicher mit PHP erzeugt, oder? Dann einfach den GET-Parameter prüfen und dem entsprechenden Link eine Klasse verpassen. Das war's.

          Peter

          Ja, sowas dachte ich mir ungefähr.
          Aber wie kann ich dem entsprechendem Link eine Klasse verpassen?
          Vielleicht stehe ich nur auf dem Schlauch und versuche es wieder viel zu kompliziert zu machen...

          Meine verlinkten Seiten prüfe ich mit $_GET['content'], jawoll.

          Kommentar


          • #6
            PHP-Code:
            <ul>
            <
            li><a href="/">Home</a></li>
            <
            li><span>Seite1</span></li>
            <
            li><a href="/seite2.html">Seite2</a></li>
            <
            li><a href="/seite3.html">Seite3</a></li>
            </
            ul
            Den Span formatierst du über dein CSS entsprechend - die gegenwärtig aktive Seite verlinkt man in der Regel nicht mit sich selbst.

            Bei den Pseudo-Klassen musst du übrigens eine gewissen Reihenfolge einhalten -> Google
            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
            Schön - etwas Geschichte kann ja nicht schaden.
            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

            Kommentar


            • #7
              Der aktuelle Menüpunkt sollte nach verbreiteter Ansicht gar nicht verlinkt sein - der Nutzer befindet sich doch schon auf der Seite, die dieser Punkt verlinken würde.
              Also gibt man beim dynamischen Ausgeben des Menüs einfach keinen Link für den aktuellen Menüpunkt aus, sondern reinen Text. Da man das Menü als Liste von Links ausgezeichnet hat, braucht man dann einfach nur LI formatieren, um die Darstellung für diesen Menüpunkt zu erreichen - und LI A formatiert man anders, um die Darstellung der übrigen, verlinkten Menüpunkte zu erreichen.

              Btw., es gibt keine „CSS-Tags”.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Oder wie von @wahsaga geschrieben geht es auch ohne span - also den Text einfach nur in das li-Tag.


                OT:
                Seit 2003 hier angemeldet und heute der erste Beitrag?!
                Zuletzt geändert von Quetschi; 12.11.2009, 17:39.
                Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                Schön - etwas Geschichte kann ja nicht schaden.
                Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                Kommentar


                • #9
                  Zitat von Quetschi Beitrag anzeigen
                  Den Span formatierst du über dein CSS entsprechend - die gegenwärtig aktive Seite verlinkt man in der Regel nicht mit sich selbst.
                  Das wird so nicht funktionieren, weil die Menü-Links sich ja nicht ändern von der Formatierung her. Die Seite läd ja jedes Mal direkt neu und da bleibt ja das Grundgerüst mit den verlinkten Links bestehen.
                  Das sind ja keine einzelnen HTML-Seiten, wo ich bei der aktuellen HTML-Seite immer den jeweiligen Link weglassen kann.



                  Hier mal mein Quelltext:


                  Code:
                  
                  <html>
                  
                  (...)
                  
                  <?php	
                  	 
                  	$inhalt = $_GET['content'];
                  	if (!isset($inhalt))
                  (...)
                  	}
                  ?>
                  
                  
                  
                  (... CSS Styles ...)
                  
                  
                  
                  </head>
                  
                  <body>
                  
                  (...)
                  
                     <div class="menucontainer">   
                     <a class="menu" href="?content=start" target="_self">Startseite</a>
                     <a class="menu" href="?content=contact" target="_self">Kontakt</a>
                     </div>
                  
                  
                   <div id="content">
                    <?php include ($inhalt_url) ?>
                    </div>
                  
                  
                  
                  (...)
                  
                  
                  </body>
                  </html>


                  Wenn ich jetzt z.B. auf den "Kontakt"-Link klicke, soll dieser eine bestimmte Formatierung bekommen.
                  Wenn ich danach auf "Startseite" klicke, soll nur dieser die bestimmte Formatierung bekommen.
                  Zuletzt geändert von Mexx_2003; 12.11.2009, 23:31.

                  Kommentar


                  • #10
                    Zitat von Quetschi Beitrag anzeigen
                    OT:
                    Seit 2003 hier angemeldet und heute der erste Beitrag?!
                    Aber hallo! :P
                    Ich bin fleißiger Leser, habe aber noch nie bestimmte Fragen gehabt.

                    Jetzt aber.

                    Kommentar


                    • #11
                      Includiere halt auch den Part mit der Navi und lass dir die Navi entsprechend von PHP erstellen - unterm Strich wolltest du im Eingangspost eh nichts anderes, nur wolltest du die Sache da etwas verdreht angehen.
                      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                      Schön - etwas Geschichte kann ja nicht schaden.
                      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                      Kommentar


                      • #12
                        Includiere halt auch den Part mit der Navi und lass dir die Navi entsprechend von PHP erstellen
                        Wie meinst du das genau?
                        Ich glaube, soweit reichen meine Gehirnwindungen nicht.

                        Kommentar


                        • #13
                          Zitat von Mexx_2003 Beitrag anzeigen
                          Das wird so nicht funktionieren, weil die Menü-Links sich ja nicht ändern von der Formatierung her.
                          Die Formatierung ist das, was du ändern willst.

                          Die Seite läd ja jedes Mal direkt neu und da bleibt ja das Grundgerüst mit den verlinkten Links bestehen.
                          Das sind ja keine einzelnen HTML-Seiten, wo ich bei der aktuellen HTML-Seite immer den jeweiligen Link weglassen kann.
                          Du hast aber PHP zur Verfügung, und kannst das ganze damit dynamisch machen.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            Zitat von wahsaga Beitrag anzeigen
                            Du hast aber PHP zur Verfügung, und kannst das ganze damit dynamisch machen.
                            Du sagst es. Das ist mir insofern schon irgendwie klar.
                            Aber ich bin in PHP leider nicht so bewandert.

                            Gibts eine Seite oder ein Tutorial, wo ich genau sowas nachlesen kann?
                            Oder kann mir jemand mit einem passenden Code auf die Sprünge helfen? ;-)

                            Gruß

                            Kommentar


                            • #15
                              Bzw. hier wäre meine Überlegung, bevor es heißt, ich würde was verlangen, aber mich selbst nicht drum bemühen. ;-)


                              PHP-Code:
                              <?php

                              $link 
                              " CSS Anweisung ";

                              ?>


                              Code:
                               <a class="menu" href="?content=contact""<?=$link?>">  target="_self">Kontakt</a>


                              Komme ich so eventuell weiter?

                              Wahrscheinlich eher nicht, weil ich ja den Text formatieren will und nicht den Link ansich... Oder?


                              Gruß und Danke
                              Zuletzt geändert von Mexx_2003; 12.11.2009, 18:48.

                              Kommentar

                              Lädt...
                              X