ugrás a tartalomhoz

Smarty több dimenziós tömb elérése

grimus · 2007. Feb. 21. (Sze), 22.38
Üdv!

A smartyval ismerkedem, a régi kódjaimat próbálom szépíteni, és a több dimenziós tömböknél akadt egy kis gondom:
(Csak a kapcsolódó kódot illesztem be, és a $rows tartalmaz adatokat)

index.php

<?php
$iSzamlalo=0;
while($rows=mysql_fetch_array($result)){
  $aChat[$iSzamlalo++] = array ( 
        'date'   => '$rows[\'date\']',
        'author' => '$rows[\'username\']',
        'message'=> 'wordwrap($rows[\'message\'], 18, "<br />", 1)');
}

$smarty->assign('chatTomb', $aChat);
?>
index.tpl

{foreach from=$chatTomb key=id item=data}	
	<div class="chat_date">{$data.date}</div>
	<div class="chat_author">{$data.author}</div>
	<div class="chat_message">{$data.message}</div>	
{/foreach}
Persze, semmit sem ír ki... Hol a hiba?
 
1

idézőjel kell?

sotetbarna · 2007. Feb. 22. (Cs), 10.33
hali

én így csinálnám

/*ha esetleg továbbra sem menne, érdemes a hibakezelést bekapcsolni*/
ini_set('display_errors',1);
error_reporting(2047);
$iSzamlalo=0;
while($rows=mysql_fetch_array($result)){
  $aChat[] = array ( 
        'date'   => $rows['date'],
        'author' => $rows['username'],
        'message'=> wordwrap($rows['message'], 18, "<br />", 1));
  $iSzamlalo++;
}
$smarty->assign('chatTomb', $aChat);
/*lehet, hogy triviális, de hiányzik*/
$smarty->display('index.tpl');
a smarty oldal jónak tűnik
2

próbáld így

breakline · 2007. Feb. 22. (Cs), 10.39
ha idézőjelbe teszel egy függvényt, akkor az mint szöveg fog kiértékelődni, szóval inkább (monjduk érdekesen használod az idézőjeleket elég sok karaktert meg tudnál spórolni :)

$aChat[] = array (
'date'   => $rows['date'],
'author' => $rows['username'],
'message'=> wordwrap($rows['message'], 18, "<br />", 1)
);

plusz lemaradt a smarty display fv-e (vagy csak itt nem írtad be? ). valószínü azért nem jelenik meg semmi.

üdv
BL
3

béna

grimus · 2007. Feb. 22. (Cs), 10.59
Sokkal egyszerűbb volt a megoldás.
Igen, az idézőjelekkel hibáztam, de egy objektum láthatóságát nem vettem figyelembe, ezért nem jelent meg a tartalom, aminek semmi köze a smartyhoz.
Azóta is barátkozom a smartyval, és szerintem nem is fogok mással fejleszteni. Szuper! :-D