Chrisi: Callback Funktion, nach include Title setzen ?

Hallo zusammen,

ich suche nach einer Möglichkeit den Title meiner Webseiten Dynamisch festzulegen.

Dazu muss gesagt sein:

Es gibt eine index.php in der das betreffende Modul das über die URL mitgeliefert wurde includet wird.

index.php?modul=testseite

Nun möchte in in jedem Modul, wie hier z.B. "testseite", festlegen welcher Title verwendet werden soll.

Das Problem ist das der Title der Webseite in der index.php festgelegt wird bevor das Modul geladen wird.

Ich benötige nun eine Technik die es ermöglicht den Title nachträglich festzulegen, habt Ihr da vieleicht eine Idee ? (Quasie eine Kommunikation zwischen modul & index).

Ich weiss nicht ob sowas überhaupt geht würde mich aber über Tipps freuen ;-)

Leider basiert die Webseite nicht auf Templates, dann hätte ich damit keine Probleme ...

Viele Grüße und danke,

Chrisi

  1. Hello,

    Das Problem ist das der Title der Webseite in der index.php festgelegt wird bevor das Modul geladen wird.

    Das ist die falsche Vorgehensweise.

    Irgendwo im Forumsarchiv findest Du bestimmt 30 Psaotings von mir zum Thema "Section".

    Und wahrscheinlich wirst Du ach ca. 6000 Postings von Anderen finden ;-)

    Also such mal nach "HTML Output" "HTML Ausgabe" oder so...

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Hi,

      Also such mal nach "HTML Output" "HTML Ausgabe" oder so...

      http://aktuell.de.selfhtml.org/tippstricks/php/variablen/index.htm#beispiel

      Also ich habe dieses Beispiel gefunden, ist das soetwas wie du meinst ?

      Hast du vieleicht einen direkten Link zu einem Deiner Postings ?

      Ich habe keine Ahnung wonach ich da überhaupt suche und will mich da nicht in etwas verrennen das ich nacher bereue ;-)

      (( ganze seite umgebaut, hätte aber auch anders geklappt ))

      Viele Grüße und danke, ( auch für deine Hilfe von gestern )

      Chrisi

      1. Hallo Chrisi,

        Eine Moeglichkeit waere zum Beispiel so:
        Datei mit dem Inhalt der Seite, sagen wir inhalt.inc.php
        $title = "Mein Titel";
        $text  = "Hier steht der Inghalt der Seite";
        Du includest die Datei in index.php wie gehabt;
        Anstatt <title>Titel der Index-Seite</title>
        schreibst du <title><?php print $title ?></title>
        An der stelle wo der Inhalt hinsoll, schreibst Du <?php print $text ?>

        Das ist zumindest das Prinzip, include wird also hier nicht benutzt um Text zu importieren, der sofort ausgespuckt wird, sondern um 2 Variablen zu starten, die dann bei Bedarf benutzt werden.

        Dieter

        1. Hello,

          der Fehler steckt doch im "Include-Wahn"

          Ich weiß nicht, werd das eigentlich mal aufgebracht hat.
          include() ist nicht das gleiche, wie SSI.

          Strukturiere Deine Scripte:

          Konstanten und Scriptvariablen deklaiern und initialisiern
          generelle includes durchführen
          Funktionen definieren
          Datenübernahme aus POST, GET, etc
          Datenverarbeitung, Datenbankabfragen und -manipilationen
          Ausgabe berechen
          Ausgabe durchführen

          Das ist so grob der Aufbau.
          Man fängt mit dem Training am besten an, indam man keinerlei Echos mehr in Funktionen oder includes vornimmt. Echos finden nur noch im HTML-Ausgabeteil statt

          Dort werden nur noch vorberechnete Variabeln ausgegeben, keine einzige Entscheidung mehr getroffen. Wunschvorstellung, denn ein <?php if (!empty $irgendwas) echo $irgendwas; ?> sollte gerade noch erlaubt sein. Aber auch nicht mehr!

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          1. Hallo Tom,

            Ich geb Dir da mehr als Recht, aber ich hatte den Eindruck, das wuerde Chrisi im Moment ueberfordern.

            Dieter

          2. Hi Tom,

            der Aufbau der Webseite ist nicht veränderbar, da würde ich in Wochen noch sitzen und das lohnt nicht.

            I.d.R. trenne ich auch Code (Classen) von Output (Templates), leider war ich bei dem Projekt aber nicht von Anfang an dabei.

            Viele Grüße und danke,

            Chrisi

            1. Hello,

              der Aufbau der Webseite ist nicht veränderbar, da würde ich in Wochen noch sitzen und das lohnt nicht.

              I.d.R. trenne ich auch Code (Classen) von Output (Templates), leider war ich bei dem Projekt aber nicht von Anfang an dabei.

              Das kneift dann bestimmt bei jeder Änderung im Magen. Kenne ich auch. Fasse ich das jetzt an, oder lasse ich es lieber?

              Da hilft dann nur die totale Verschlimmbesserung.

              Leichte Variante: ob_start() ganz am Anfang und dann dannmal irgendwann den Buffer freigeben

              Oder als eine der letzten Zeilen im Script:

              $title = "Schmuddelprogrammierung";
              echo "<script type="text/javascript">document.getElementsByTagName('title')[0].value="$title";</script>";

              So oder so ähnlich jedenfalls und dann beten, dass der user JavaScript eingeschaltet hat.

              Harzliche Grüße aus http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau
              1. Hi,

                Das kneift dann bestimmt bei jeder Änderung im Magen. Kenne ich auch. Fasse ich das jetzt an, oder lasse ich es lieber?

                Genauso siehts aus, am liebsten würde ich das alles umschmeissen aber denke am Ende lohnt das einfach nicht.

                Da hilft dann nur die totale Verschlimmbesserung.
                Leichte Variante: ob_start() ganz am Anfang und dann dannmal irgendwann den Buffer freigeben

                Das wäre eine Lösung.

                Mit JS werde ich da nicht rumfummeln ;-)

                Viele Grüße und danke,

                Chrisi

                1. Hello,

                  Mit JS werde ich da nicht rumfummeln ;-)

                  Klappt auch irgendwi nicht so, wie eben gescherieben. Allerdings bin ich mir ganz sicher, dass ich da mal ausprobiert hatte. Der <title>-Tag ließ sich in den meisten Browsern noch nachträglich ändern.

                  Harzliche Grüße aus http://www.annerschbarrich.de

                  Tom

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  Nur selber lernen macht schlau
        2. Hi Dieter,

          Das ist zumindest das Prinzip, include wird also hier nicht benutzt um Text zu importieren, der sofort ausgespuckt wird, sondern um 2 Variablen zu starten, die dann bei Bedarf benutzt werden.

          Ja, das klingt verständlich und hält die Arbeit in grenzen ;-)

          Danke ...

          Chrisi