Anfängerproblem mit phplib Template

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

  • Anfängerproblem mit phplib Template

    Hallo Leute,


    ich taste mich so langsam an die Template Klasse der phplib heran. Und schon hab ich ein Problem mit einem Block, der anscheinend öfters geparst wird, als er soll.

    Meine Situation
    Ich habe drei Templates:

    header (header.txt) mit folgendem Inhalt
    Code:
    <h2>Header</h2>
    footer (footer.txt) mit folgendem Inhalt
    Code:
    <h3>Footer</h3>
    index (index.txt) mit folgendem Inhalt:
    Code:
    <html><body>
    {HEADER}
    
    Das ist der Inhalt<br><br>
    <!-- BEGIN testbit -->
    <a href="test.php">{TESTVAR}</a><br>
    <!-- END testbit -->
    <br><br>
    
    {FOOTER}
    </body></html>

    In meinem Script will ich die Template index so ausgeben, dass {HEADER} und {FOOTER} durch die Templates header bzw. footer ersetzt werden und dass der Block testbit sagen wir mal 3 Mal mit unterschiedlichen Werten für {TESTVAR} geparst wird.

    Mein Script sieht wie folgt aus:
    Code:
    <?php
    include("./template.php");
    $tpl = new Template("./tpl", "keep");
    
    $tpl->set_file(array("index" => "index.txt",
    								"header" => "header.txt",
    								"footer" => "footer.txt"));
    
    $tpl->set_block("index", "testbit", "testbit");
    
    $tpl->set_var(array("TITLE" => "Startseite"));
    
    for($i=0;$i<3;$i++) {
    	$var = 10*$i;
    	$tpl->set_var(array("TESTVAR" => $var));
    	$tpl->parse("testbit","testbit",true);
    }
    
    $tpl->parse("HEADER","header");
    $tpl->parse("FOOTER","footer");
    $tpl->pparse("OUTPUT","index");
    ?>

    Nun zu meinem Problem.
    Header und Footer werden erfolgreich geparst.
    Doch der Block testbit macht Probleme. Laut for() Schleife soll er 3 Mal geparst werden (mit den Werten 0, 10, 20 für {TESTVAR}).
    Die HTML Ausgabe lässt aber vermuten, dass er 8 mal geparst wird, denn der Block erscheint 8 mal - aber nicht mit den Werten 0,10,20 sondern mit den Werten 20,0,10,0,20,0,10,0

    Die komplette Ausgabe sieht wie folgt aus:
    Code:
    <html><body>
    <h2>Header</h2>
    
    Das ist der Inhalt<br><br>
    
    <a href="test.php">20</a><br>
    
    <a href="test.php">0</a><br>
    
    <a href="test.php">10</a><br>
    
    <a href="test.php">0</a><br>
    
    <a href="test.php">20</a><br>
    
    <a href="test.php">0</a><br>
    
    <a href="test.php">10</a><br>
    
    <a href="test.php">0</a><br>
    
    <br><br>
    
    <h3>Footer</h3>
    </body></html>
    Wo liegt der Fehler ?


    PS: Bin für jede Hilfe oder Link zu einem Tutorial dankbar..

    MfG André-Nam
    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

    © Harald Schmidt
Lädt...
X