tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
409
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    indylein indylein ist offline Mitglied
    Registriert seit
    Oct 2004
    Beiträge
    10
    Hallo ihr

    Also ich code gerade ein Newsscript und möchte dafür ein Templatesystem verwenden.
    Da ist mir das Tutorial http://www.tutorials.de/forum/showth...threadid=12907 ganz recht
    gekommen :]

    Ich habe also die erste Variante nachgebaut und versucht, anstatt in der Variable
    $inhalt einen Text zu übergeben, etwas zu includen, sodass zum Schluss die
    var. $inhalt bei mir so aussieht:

    $inhalt = include("code.php");

    Das hat auch funktioniert allerdings habe ich nun folgendes Problem:
    Den Code, den ich mit der Variable $inhalt includet habe, erscheint nicht da,
    wo ich im Template $inhalt hingesetzt habe, sondern direkt am Anfang von der Seite.
    Danach kommt der ganze andere Kram, der direkt im Template drin ist.
    Und dort, wo normalerweise die var. $inhalt ist, ist einfach eine 1.

    Danach habe ich es mit Variante zwei im Tutorial probiert, dies hat allerdings auch nicht geklappt und der includete Befehl war wieder am Anfang der Seite.

    Also entschloss ich mich bei Variante eins zu bleiben, weil der Code einfacher ist

    Kann mir irgendjemand sagen wie man den Inhalt der Variable (das include) an die richtige Position bringen kann?

    Ich bin total am verzweifeln und ich hoffe, mir kann jemand helfen!


    Link zum Problem: Klick mich

    Der Code ist zum Verständnis der Frage denke ich wichtig, also hab ich diesen auch mal angehängt....:

    layout.html
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
      <html>
      <head>
      <title>$title</title>
      </head>
      
      <body bgcolor="#FFFFFF" text="#000000">
      <b>Dieser Text ist direkt im Template drinne</b><br><br>
      $inhalt
      </body>
      </html>

    code.php
    Code :
    1
    2
    3
    4
    5
    
      <?php
      
      echo "dies hier ist ein text aus der Datei code.php der per echo ausgegeben wird";
      
      ?>

    index.php
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
      <?php
      
      function gettemplate($template,$endung="html")
      {
      return str_replace("\"","\\\"",implode("",file($template.".".$endung)));
      }
      function dooutput($template) {
      echo $template;
      }
      
      $inhalt = include("code.php");
      
      eval("dooutput(\"".gettemplate("layout")."\");");
      
      ?>
     

  2. #2
    Avatar von Ben Ben
    Ben Ben Ben Ben ist offline Mitglied Rubin
    Registriert seit
    Dec 2003
    Ort
    Raum FFM
    Beiträge
    1.364
    $inhalt = include(...) ? Wusste gar nicht das Include was zurückliefert.... Include bindet eigentlich nur die Datei bzw, deren Inhalt / Code in die akutelle ein.

    Und die Ausgabe sollte ja dieses eval machen...

    Aber wenn du zukünftig mit Templates (unabhängig von diesem Projekt) mit Templatesystemen arbeiten willst, würde ich ein richtiges Templatesyetem nehmen, da dieses Tut meines Erachtens mehr dazu dient einen groben Einblick in eine Funtkion eines Templatesystems zu geben.
    Ich persönlich verwende Smarty aber es existiert hier irgendwo auch ne Liste mit anderen Templatesystemen, als auch teilweise Threads zu den einzlenen Templatesystemen...
     

  3. #3
    indylein indylein ist offline Mitglied
    Registriert seit
    Oct 2004
    Beiträge
    10
    Das ganze hat nur das Problem, dass ich mein Script irgendwann zum Download
    anbieten will. Da bräucht ich doch sicher noch ne extra Lizenz für Smarty, wenn
    ich das machen will... oder?
     

  4. #4
    Avatar von Ben Ben
    Ben Ben Ben Ben ist offline Mitglied Rubin
    Registriert seit
    Dec 2003
    Ort
    Raum FFM
    Beiträge
    1.364
    Nö nicht das ich wüsste, zur Not einfach mal nachlesen
    Dann solltest du der Sauberkeit halber aber nur die Dateien von Smarty nehmen die dein Script auch wirklich bruacht, da es sonst etwas hässlich aussieht
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 10.07.08, 16:29
  2. Antworten: 5
    Letzter Beitrag: 20.02.06, 19:36
  3. Antworten: 0
    Letzter Beitrag: 08.12.05, 20:01
  4. Fehler beim beim Auslesen der DB
    Von Slater im Forum .NET Archiv
    Antworten: 5
    Letzter Beitrag: 28.01.05, 15:22
  5. Good vs. Eval (Eval bei Objekten)
    Von Gee im Forum PHP
    Antworten: 1
    Letzter Beitrag: 13.07.04, 18:17