Hallo zusammen,
alsoooo, ich hab da ein Problem:
also mein Ziel ist es eine Seite zu erstellen, z.B.: blockBeispiel.php
und die Variable $content der Seite template.inc.php zu übergeben damit er diese auf der Seite template.tpl.php zusammensetzt.
Wenn ich dann neue Seiten erstelle (wie z.B.: blockBeispiel.php), brauche ich dann "nur" die Variablen, die in template.tpl.php vorkommen zu übergeben. Ich habe übersichtlicherweise die anderen ($head,$menue...etc..) weggelassen und nur $content übergeben.
Im Moment wird mir nur der letzte Wert aus der for-Schleife ausgegeben (also die 10).
Das ist mein HauptTemplate:
template.tpl.php
Nun möchte ich an der Stelle wo {CONTENT} steht diese Seite einbinden:
blockBeispiel.tpl.php
Das erreiche ich durch diese Zeile:
$content="blockBeispiel.tpl.php";
in blockBeispiel.php
und dann hab ich noch
template.inc.php
Kann mir bitte jemand sagen, wie ich es hinbekomme das alle Werte korrekt im Bereich {CONTENT} aufgelistet werden?!
Wie gesagt, das Template-System scheint zu funktionieren, aber es erscheint immer nur ein Wert (der letzte).
Auch wenn ich ein anderes Array ausgeben möchte, z.B. gefüllt aus der DB und eine ganz andere Schleife, erscheint
immer wieder nur der letzte Wert. Es liegt also nicht an der for-Schleife.
Kann mir bitte jemand weiterhelfen?
Gruß tr0n
alsoooo, ich hab da ein Problem:
also mein Ziel ist es eine Seite zu erstellen, z.B.: blockBeispiel.php
und die Variable $content der Seite template.inc.php zu übergeben damit er diese auf der Seite template.tpl.php zusammensetzt.
Wenn ich dann neue Seiten erstelle (wie z.B.: blockBeispiel.php), brauche ich dann "nur" die Variablen, die in template.tpl.php vorkommen zu übergeben. Ich habe übersichtlicherweise die anderen ($head,$menue...etc..) weggelassen und nur $content übergeben.
Im Moment wird mir nur der letzte Wert aus der for-Schleife ausgegeben (also die 10).
Das ist mein HauptTemplate:
template.tpl.php
Code:
<html> <head><title>{TITEL}</title></head> <body > <table border="1" width="100%" bgcolor="e6e6e6" cellpadding="5"> <tr> <td colspan="3" align="center">{HEAD}</td> </tr> <tr> <td align="center" valign="top" width="10%">{MENUE}</td> <td align="center" bgcolor="#ffffff" width="80%" valign="top"><br>{CONTENT}<br><br></td> <td align="center" valign="top" width="10%">{LINKS}</td> </tr> <tr> <td colspan="3" align="right">heute ist der: {DATUM}</td> </tr> </table> </body> </html>
blockBeispiel.tpl.php
Code:
<!-- BEGIN block --> <table> <tr><td>{BLOCKINHALT}</tr></td> </table> <!-- END block -->
$content="blockBeispiel.tpl.php";
in blockBeispiel.php
PHP-Code:
<?php
$content="blockBeispiel.tpl.php";
//Ausgabe erfolgt in template.inc.php
include("inc/template.inc.php");
?>
template.inc.php
PHP-Code:
<?php
//Einfügen der Template Klasse von Kristian Köhntopp
require("template_class.inc.php");
$tpl = new template("./tpl/","keep");
$tpl->set_file("CONTENT", $content);//<-- hier soll der CONTENT von blockBeispiel.tpl.php ersetzt werden
$tpl->parse("temp", "CONTENT");
/*************Block-Beispiel************/
$tpl->set_file("seite", "$content");
$tpl->set_block("seite", "block", "blockbereich");
$tpl->set_var(array("TITLE" => "Das ist mein Seitentitel"));
for ($i = 1; $i <= 10; ++$i) {
$tpl->set_var(array("BLOCKINHALT" => $i));
$tpl->parse("blockbereich", "block", true);
}
$tpl->parse("out", "blockbereich");
/*************Block-Beispiel************/
$tpl->set_file("template", "template.tpl.php");
$tpl->parse("out", "template");
$tpl->p("out");
?>
Wie gesagt, das Template-System scheint zu funktionieren, aber es erscheint immer nur ein Wert (der letzte).
Auch wenn ich ein anderes Array ausgeben möchte, z.B. gefüllt aus der DB und eine ganz andere Schleife, erscheint
immer wieder nur der letzte Wert. Es liegt also nicht an der for-Schleife.
Kann mir bitte jemand weiterhelfen?
Gruß tr0n
Kommentar