ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
676
676
EMPFEHLEN
-
Hallo ich arbeite gerade an einer eigenen Template-klasse und habe ein Problem was sich irgendwie nicht lösen lässt zumindest nicht mit meinem PHP wissen, und zwar habe möchte ich das eine liste aus einer DB geholt wird, jede Zeile dieser liste soll aber aus einem Template geholt werden und dann in ein "haupt" template gepackt werden, unter Tutorials habe ich einen entsprechenden Post gefunden allerdings habe ich es nicht geschaft diesen in meine Klasse mit einzubauen...
Das Problem ist das er bei der Liste einfach nur den ersten Datensatz ausgibt und nicht alle 10...
Hier mal der Code
die Template Klasse (testclass.php):
So dann gibt es die Templatedatei(temp.html):PHP-Code:class template{
var $main_file = "";
var $var_con_php = array();
var $var_con_html = array();
var $xvar_con_php = array();
var $xvar_con_html = array();
var $dataout = "";
function set_file($template){ // Template datei
$this->main_file = implode("", file("$template"));
return false;
}
function set_var($htmlvar, $phpvar){ // Platzhalter, Inhalt
if(!$htmlvar){$htmlvar=1;}if(!$phpvar){$phpvar=1;}
$n_arr1 = "";
$n_arr2 = "";
$n_arr1 = $this->var_con_php;
$n_arr2 = $this->var_con_html;
array_push($n_arr1,$phpvar);
array_push($n_arr2,$htmlvar);
$this->var_con_php = $n_arr1;
$this->var_con_html = $n_arr2;
}
function set_xvar($htmlvar_name, $phpvar_name){ // Platzhalter, Inhalt
$x_arr1 = $this->xvar_con_php;
$x_arr2 = $this->xvar_con_html;
array_push($x_arr1,$phpvar_name);
array_push($x_arr2,$htmlvar_name);
$this->xvar_con_php = $x_arr1;
$this->xvar_con_html = $x_arr2;
}
function p($temp_file, $htmlvar){ // ListenHTML, HTML-Platzhalter in dem die Liste eingefügt werden soll
$x_arr1 = $this->xvar_con_php;
$x_arr2 = $this->xvar_con_html;
$file_t = implode("", file("$temp_file"));
$intx = count($x_arr1);
for($i=0;$i<$intx;$i++){
$datout = "~{".$x_arr2[$i]."}~";
$file_t = str_replace($datout, $x_arr1[$i], $file_t);
}
$n_arr1 = "";
$n_arr2 = "";
$n_arr1 = $this->var_con_php;
$n_arr2 = $this->var_con_html;
array_push($n_arr1,$file_t);
array_push($n_arr2,$htmlvar);
$this->var_con_php = $n_arr1;
$this->var_con_html = $n_arr2;
}
function parse() { // parser... (mehr oder weniger ^^)
$n_arra1 = "";
$n_arra2 = "";
$n_arra1 = $this->var_con_php;
$n_arra2 = $this->var_con_html;
$inta = count($n_arra1);
$dataout = $this->main_file;
for($i=0;$i<$inta;$i++){
$datout = "~{".$n_arra2[$i]."}~";
$dataout = str_replace($datout, $n_arra1[$i], $dataout);
}
$this->dataout .= $dataout;
}
function printout(){ // ausgabefunktion
printf($this->dataout);
}
}
Code :1 2 3 4 5 6 7 8 9 10 11
<html> <title>test</title> <body> Ausgabe var1:<bR> <i>~{var1}~</i> <bR><bR> Ausgabe var2 (liste):<bR><bR> <i>~{var2}~</i> <bR>ENDE </body> </html>
hier das Template was in die liste eingefügt werden soll (list.html)
Code :1
Nummer (~{var_list}~)
Und hier die Ausführende PHP-Datei(test.php):
PHP-Code:include("testclass.php");
$t = new template;
$t->set_file("temp.html");
$test = "Hallo das ist ein Test";
$t->set_var("var1",$test);
for($i=1;$i<=10;$i++)
{
$t->set_xvar("var_list",$i);
$in++;
}
$t->p("list.html","var2");
$t->parse();
$t->printout();
-
18.11.04 14:03 #2
- Registriert seit
- Jan 2004
- Beiträge
- 1.072
Das Problem liegt hier:
$x_arr2[$i] ist ja immer das gleiche (var_list). Sobald das erste mal ersetzt wird, passiert nichts weiter. So kann das nicht funktionieren.PHP-Code:for($i=0;$i<$intx;$i++){
$datout = "~{".$x_arr2[$i]."}~";
$file_t = str_replace($datout, $x_arr1[$i], $file_t);
}
-
*kopf auf den tisch hau* ai jo danke simpler aber entscheidener Fehler
Ähnliche Themen
-
Eigene PHP MySql Function funktioniert nicht
Von FurbyHaxx im Forum PHPAntworten: 7Letzter Beitrag: 21.10.10, 12:09 -
Template + Databinding auf eigene Klasse
Von {Eve} im Forum .NET WPF & SilverlightAntworten: 2Letzter Beitrag: 11.02.10, 13:40 -
Pixelpost Template funktioniert nicht
Von psYkenNy im Forum Content Management Systeme (CMS)Antworten: 0Letzter Beitrag: 12.08.08, 18:13 -
eval: eigene Funktion im Template wird nicht ausgeführt
Von Kamephis im Forum PHPAntworten: 4Letzter Beitrag: 04.03.07, 18:40 -
eigene Sessionverwaltung funktioniert nicht
Von mrtest im Forum PHPAntworten: 6Letzter Beitrag: 04.10.05, 22:38





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren