• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Smarty Schleifen

EvilBen

New member
Huhu,

ich nutze die Smarty Engine, um mit Templates zu arbeiten.

Code:
https://www.smarty.net/docsv2/de/language.function.foreach.tpl

Soweit so gut. Ich bin jetzt am rum-rotieren was die schleifen probiert und komme einfach nicht klar. Wahrscheinlich ist der Fehler wieder mal so banal...

Also es geht um ein Newsscript. Die News werden in der news.php aus der DB geholt

PHP:
//DB - zugriff ....
$timeline = array();
$i = 0;
while($row = $result->fetch_assoc()){
    $timeline[] = array(
                "type" => $row['timeline_type'],
                "text" => $row['timeline_text'],
                "usr"  => $row['timeline_usr']
    );
   
  
   
}

Aber wie bekomme ich das ganze jetzt an Smarty?
Das hier funktioniert nicht:

PHP:
$tpl -> new SMTemplate();
$tpl -> render('timeline', $timeline);

Complier gibt nix aus, nur eine nette Fehlermeldung im Browser:
Fatal error: Uncaught Error: Call to a member function assign() on null in /www/htdocs/w0171b92/tech-ben.de/social/php/home.php:8 Stack trace: #0 /www/htdocs/w0171b92/tech-ben.de/social/index.php(34): include() #1 {main} thrown in /www/htdocs/w0171b92/tech-ben.de/social/php/home.php on line 8

Ich hoffe ihr könnt helfen

Liebe Grüße
 
Zuletzt bearbeitet:
Ich kenne mich mit Smarty nicht aus, würde aber spontan vermuten, dass der Smarty-Engin ein assoziatives Array übergeben wird was sie nicht verarbeiten kann.

Versuch es mal so (ohne Gewähr)

Code:
$smarty->assign(''timeline', $db->getAssoc($sql));

$tpl->new SMTemplate();
$tpl->render('timeline', $timeline);
 
Zurück
Oben