Rolf B: Wie rufe ich mit URL-Parametern dynamisch Inhalte auf?

Beitrag lesen

problematische Seite

Hallo borisbaer,

Nun habe ich jedoch das Problem, dass die class .current nicht mehr an die Tabs gehängt wird,

Es gibt da zwei Aspekte.

(1) Wenn die Seite initial per URL geladen wird, muss das .current vom PHP an das Tab gesetzt werden.

Alternativ müsstest Du JavaScript laufen lassen, das das beim Laden der Seite tut, was aber nicht trivial ist; du müsstest dann aus der URL auf das Tab rückschließen. In PHP ist es einfacher.

In PHP heißt das auch: Du musst den angeforderten Tab-Namen ermitteln, bevor Du die Links ausgibst, sonst weißt Du bei deren Ausgabe nicht, wo das class='current' hingehört. Beim bisher diskutierten Code wurde das nicht bedacht. D.h. da steht ein Umbau an. Good Luck!

(2) Derzeit ist dein Ajax außer Funktion, der Tabwechsel erfolgt rein über PHP. Dein click-Handler auf den Links wird nicht aufgerufen. Warum?

<nav id="tabs">
  <a class="tab" href="game">Spiel</a>
  <a class="tab" href="releases">Releases</a>
  ...
</nav>
$("body").on("click", ".tabs .tab", function() { ... } );

Na? Verdien Dir ein Fleißkärtchen. Was ist falsch? Warum wird die Funktion nicht aufgerufen?

Der jetztige click-Handler ergibt auch keinen Sinn mehr. Er setzt die current-Class als Reaktion auf einen Klick auf einen Link, was bedeutet: gleich als nächstes lädt der Browser die Seite neu und dein Werk löst sich in Staub auf. Ohne den Ajax-Call kannst Du die Reaktion auf click auch weglassen.

Der Ajax-Abruf muss natürlich berücksichtigen, dass die Tab-Scripte nun in einem page-Ordner stehen, und das in die URL einbauen. Und dann muss er die Seite laden, und dem Browser sagen, dass er den Klick auf den Link nicht verarbeiten soll. Das hattest Du doch schon mal drin, oder?

Rolf

--
sumpsi - posui - obstruxi
0 75

Wie rufe ich mit URL-Parametern dynamisch Inhalte auf?

borisbaer
  • url
  1. 0
    TS
    • ajax
    • client-server
    • url
    1. 0
      borisbaer
  2. 0
    dedlfix
    1. 0
      borisbaer
      1. 0
        Samuel fiedler
        • javascript
        • php
        • url
        1. 0
          Der Martin
          • php
          • url
        2. 0
          Rolf B
          1. 0
            borisbaer
            1. 0
              Rolf B
              1. 0
                borisbaer
                1. 0
                  Rolf B
                  1. 0
                    borisbaer
                    1. 0
                      Rolf B
                      1. 0
                        borisbaer
                        1. 0
                          tk
                          • php
                          • url
                          1. 0
                            borisbaer
                        2. 0
                          Rolf B
                          1. 0
                            borisbaer
                            1. 0
                              Rolf B
                      2. 1
                        tk
                        • php
                        • url
                        1. 0
                          Rolf B
                          1. 0
                            borisbaer
                            1. 0
                              Der Martin
                              1. 0
                                Rolf B
                                1. 0
                                  borisbaer
                                  1. 0
                                    Rolf B
                                    1. 0
                                      borisbaer
                                      1. 0
                                        Rolf B
                                        1. 0
                                          borisbaer
                                          1. 0
                                            Rolf B
                                            1. 0
                                              borisbaer
                                            2. 0
                                              borisbaer
                                              1. 0
                                                Rolf B
                                                1. 0
                                                  borisbaer
                                                  1. 0
                                                    Rolf B
                                                    1. 0
                                                      borisbaer
                                                      1. 0
                                                        Rolf B
                                                        1. 0
                                                          borisbaer
                                                          1. 0
                                                            borisbaer
                                                            1. 0
                                                              Rolf B
                                                              1. 0
                                                                borisbaer
                                                                1. 0
                                                                  Rolf B
                                                                  1. 0
                                                                    borisbaer
                                                            2. 0
                                                              Rolf B
                                                              1. 0
                                                                borisbaer
                                                                1. 0
                                                                  Rolf B
                                                                  1. 0
                                                                    borisbaer
                                                                    1. 0
                                                                      Rolf B
                                                                      1. 0
                                                                        borisbaer
                                                                        1. 0
                                                                          Rolf B
                                                                          1. 0
                                                                            klawischnigg
                                                                            1. 0
                                                                              Rolf B
                                                                              1. 0
                                                                                klawischnigg
                                                                                1. 0
                                                                                  Rolf B
                                                                          2. 1
                                                                            borisbaer
                                2. 0
                                  Der Martin
                                  1. 0
                                    Rolf B
                                    1. 0
                                      Der Martin
                                      1. 0
                                        Rolf B
                                        1. 0
                                          Der Martin
                                          1. 0
                                            Rolf B
                            2. 0
                              Tabellenkalk
                              1. 0
                                borisbaer
        3. 0
          borisbaer
  3. 0
    Rolf B
    1. 0
      borisbaer
      1. 0
        Rolf B
        1. 0
          borisbaer
          1. 0
            Rolf B
            1. 0
              borisbaer
              1. 1
                Rolf B
                1. 0
                  borisbaer
                  1. 0
                    Rolf B
                    1. 0
                      borisbaer