[Funktion] Template System

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

  • #16
    Ja das ist klar, aber wie geht das?

    Ich habe im Kopf meiner index.php eine function includet, in der ich das gern drin stehen hätte.

    Kommentar


    • #17
      Sorry, aber das haben UzumakiNaruto und ich dir bereits beschrieben.

      Kommentar


      • #18
        na ja, aber nicht so das ich es verstehe, na ja, ich gebs auf..

        Kommentar


        • #19
          Original geschrieben von TobiaZ
          @uzu, das ersetzt aber auch nur einen simplen Text und nicht eine komplette Datei. Da müsste dann schon sowas her:

          PHP-Code:
          include 'config.inc.php';

          $tpl_header = new template('head.html');
          $tpl_header->read_template();
          $tpl_header->replace('title''Titel der Seite');

          $tpl_main = new template('homepage.html');
          $tpl_main->read_template();
          $tpl_main->replace('head',$tpl_header->echo_template());

          echo 
          $tpl_main->echo_template(); 
          Die ReadTemplate() Methode würde ich übrigens entweder vom Konstruktor aufrufen lassen. Spart wenigstens eine Zeile.
          OffTopic:
          hast du auch wieder recht, die klasse kommt ja nicht von mir, habe sie irgendwann mal gefunden und verwende diese schon ewig. Habe mich mit Klassen noch nie wirklich auseinander gesetzt, habe sie in Java schon immer gehasst.
          Bis jetzt habe ich einfach noch keinen sinn darin gesehen eine zu schreiben



          Normalerweise arbeite ich auch anders mit dem Template System.

          theme.php
          PHP-Code:
          function site($content)
          {
             
          # datei laden
             
          $template_design = new template("template_design.html");
             
          # datei einlesen
             
          $template_design->read_template();
             
          # navigation laden
             
          $template_design->replace("navigation"navi());
             
          # INHALT laden der übergeben wird
             
          $template_design->replace("content"$content);
             return 
          $template_design->echo_template();

          datei.php
          PHP-Code:
          include ("theme.php");

          $template_content = new template("template_CONTENT.html");
          $template_content->read_template();
          $template_content->replace("title""content_title");
          $template_content->replace("text""content_text");
          $content $template_content->echo_template();

          echo 
          site($content); 
          auf DIESEM wege lade ich einzelne templates in ein "bestimmtes" feld des templates "design", über die funktion site() ;-)

          wollte das jetzt nur nicht SO aufdröseln, Raph soll ja auch noch was zu tun haben.

          @Raph
          Vielleich erzählst du uns einfach mal, WAS das genau bezwecken soll?

          Was ein Template-System ist weißt du???? Kurz, damit der designer sich nicht durch php-code schlagen müssen um das design der webseite zu ändern, deswegen gibts templates, die unter umständen variablen beinhalten und der php entwickler diese dann füllen kann.

          Original geschrieben von Raph
          [b]
          Also
          Ich möchte ja einfach nur schrieben

          {php}

          und dann soll die datei php.tpl aus dem ordner templates ausgelesen werden.

          ohne das ich jedes mal irgendwas schreiben muss...
          [b/]
          naja ...
          PHP-Code:
          echo load_template("php");

          function 
          load_template($tpl_file)
          {
             
          $file = @fopen("/pfad/zur/datei/".$tpl_file.".tpl""r");
             while(!
          feof($file))
             {
                
          $temp fgets($file4096);
             }
             return 
          temp;

          UNGETESTET
          Gruß
          Uzu

          private Homepage

          Kommentar


          • #20
            Wieso nicht file_get_contents()? Ist schneller.

            Grüße
            Nieder mit der Camel Case-Konvention

            Kommentar


            • #21
              Ist vermutlich aufs alter der Klasse zurückzuführen. Ist ja nicht die einzige Unstimmigkeit im Konzept.

              Aber er hat ja geschrieben, dass er sie mal irgendwann irgendwo gefunden hat. Und es diente ja eigentlich auch nur der Veranschaulichung.

              Kommentar

              Lädt...
              X