Include in gesamter datei?!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Include in gesamter datei?!

    Hallo,

    ich habe ein datei wo ich eine andere per include einfüge...
    nun habe ich aber ein kleines problem...

    die datei ist so aufgebaut:

    htmlcode...

    htmlcode...

    php
    include("");

    htmlcode
    htmlcode

    mein problem ist nun... ich includiere eine weitere html datei... in welcher natürlich auch php vorkommt...
    da ich alle seiten aber so aufgebaut habe, dass diese in ein template geladen werden, so möchte ich nun in die jeweiligen seiten, welche includiert werden

    <?
    $titel="Seitentitel.. bla bla bla";
    ?>

    einfügen...
    dies ist aber soweit nicht möglich da mein <titel-Tag weit oberhalb dieser datei liegt...
    gibt es irgend eine möglichkeit, auch wenn eine datei erst weiter unten im code includiert wird, trotzdem deren variablen zu verwenden?

    danke.
    greets
    tjabo

  • #2
    ich includiere eine weitere html datei
    zerstückel die soweit, dass die du die einzelteile an der gewünschten stelle einbauen kannst.

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

    Comment


    • #3
      auch wenn eine datei erst weiter unten im code includiert wird, trotzdem deren variablen zu verwenden?
      Wirf doch die Output Buffer an und verwende einen Platzhalter für die Titelanzeige
      PHP Code:
      //ganz als erstes deines Codes
      ob_start();
      echo 
      '<head><title>{TITLE}</title></head>';
      [...]
      //sobald du den Titel festgestellt hast
      //in $title speicherst du den anzuzeigenden Titel
      echo str_replace('{TITLE}',$title,ob_get_contents());
      ob_end_clean(); 
      Gruss

      tobi

      p.s. grundsätzlich würde ich mir aber den Aufbau deiner Dateien mal durch den Kopf gehen lassen. Sind soviele includes() denn überhaupt nötig ?
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Comment


      • #4
        oder du baust deine include-datei so auf, dass lediglich variablen drinne sind. bsp:

        include-datei:
        PHP Code:
        $pagetitle "Seitentitel blablabla";
        $content "dein eigentlicher html-code, den du derzeit per include holst";

        usw
        dann kannst du die datei ganz oben includen und gibst den inhalt an den stellen aus, an denen du sie haben willst.

        deine hauptseite:
        PHP Code:
        <?php
        include ("includedatei.php")
        ?>
        <html>
        ...
        <titel><?php echo $pagetitel?></titel>
        ...
        ... html
        ... html

        <?php echo $content?>

        usw
        **********
        arkos
        **********

        Comment


        • #5
          danke.
          also include gibts da nur einen...

          also ist eine template datei,
          welche dann eine seite einfach includiert...
          und in diese datei würde ich gerne den titel und die metatags reinschreiben, sodass ich diese dann im template verwenden kann...

          nur ist das template eine reine html datei, die eben eine andere html datei includiert...

          thx..

          Comment


          • #6
            Original geschrieben von arkos
            oder du baust deine include-datei so auf, dass lediglich variablen drinne sind. bsp:

            include-datei:
            PHP Code:
            $pagetitle "Seitentitel blablabla";
            $content "dein eigentlicher html-code, den du derzeit per include holst";

            usw
            dann kannst du die datei ganz oben includen und gibst den inhalt an den stellen aus, an denen du sie haben willst.

            deine hauptseite:
            PHP Code:
            <?php
            include ("includedatei.php")
            ?>
            <html>
            ...
            <titel><?php echo $pagetitel?></titel>
            ...
            ... html
            ... html

            <?php echo $content?>

            usw
            hallo,
            das geht leider nicht,
            da die datei die ich include, aus HTML Code und PHP zusammengesetzt ist...

            Comment


            • #7
              und du kannst die include-datei nicht verändern?? deinen bedürfnissen anpassen??
              **********
              arkos
              **********

              Comment


              • #8
                das geht leider nicht,
                da die datei die ich include, aus HTML Code und PHP zusammengesetzt ist...
                Noch ein Grund mehr der für mich für die ob_buffer sprechen würde. Diese buffern auch HTML, welches nicht via PHP ausgegeben wird.
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Comment


                • #9
                  die antwort mit dem buffer kam ziemlich zeitgleich mit meiner. würde diese sogar auch vorziehen.

                  hab allerdings noch nie mit dieser funktion gearbeitet ja, das gibts.
                  muss dann im bsp von dir nicht auch noch der flush rein??
                  **********
                  arkos
                  **********

                  Comment


                  • #10
                    muss dann im bsp von dir nicht auch noch der flush rein??
                    Nö. Denn in dem Beispiel erfolgt die Ausgabe des Bufferinhalts nicht direkt (flush() würde das direkt an den Browser senden), sondern der Inhalt des Buffers wird noch verwendet und dann mittels echo ausgegeben. Und das macht ob_get_contents(), sie holt den Inhalt des Buffers gibt ihn jedoch nicht direkt aus. Diese Fkt wird meist dazu benutzt den Inhalt des Buffers auf eine Var zu speichern.

                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Comment


                    • #11
                      ah, ok. werde mir die geschichte mal näher ansehen. hätte mir an mancher steller sicher schon gut helfen können

                      vielen dank
                      **********
                      arkos
                      **********

                      Comment


                      • #12
                        Noch ein Grund mehr der für mich für die ob_buffer sprechen würde.
                        Für mich hört sich das mehr wie ein verkorkstes Konzept an!!
                        Und ob_* ist dann an der Stelle nicht mehr als ein dirty Hack.

                        Mein Tipp:
                        Erst die Verarbeitung und dann die Ausgaben.
                        Wir werden alle sterben

                        Comment


                        • #13
                          Original geschrieben von combie
                          Für mich hört sich das mehr wie ein verkorkstes Konzept an!!
                          Und ob_* ist dann an der Stelle nicht mehr als ein dirty Hack.

                          Mein Tipp:
                          Erst die Verarbeitung und dann die Ausgaben.
                          danke ich teste das ganze mal durch...

                          ist halt manchmal so, man hat ne idee, setzt das ganze um... und es kommt, nach dem umsetzung ne weitere bessere idee und dann?
                          ich versuchs dann immer mit dem geringsten aufwand umzusetzen, ob schön oder nicht, funktionieren muss das ganze

                          Comment


                          • #14
                            Schonmal was von EFA gehört? Eingabe-Verarbeitung-Ausgabe.

                            Comment


                            • #15
                              Schonmal was von EFA gehört?
                              OffTopic:

                              Pisakind ?

                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Comment

                              Working...
                              X