Ako vykresliť pole do template

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
iGavrilo
Člen | 32
+
0
-

zdravím,

v presenteri mám tento kód ktorý ďalej spracovávam

$servers = array();

        foreach($data as $d)
        {
            $servers[] = array(
                'id' => $d['id'],
                'type' => $d['type'],
                'host' => $d['host']
            );

zaujímalo by ma ako pole $servers vykresliť do latte

Zuben45
Člen | 268
+
0
-

nejspíš nějak takhle:

$this->template->servers = $servers;

samozřejmě v renderNazevsablony ;)

a pak jednoduše v latte:

{foreach $servers as $server}
	<p>{$server['id']} - {$server['type']} - {$server['host']}</p>
{/foreach}

jinak v dokumentaci najdeš konkrétní příklad: https://doc.nette.org/…rt/home-page

PS: jenom nechápu proč děláš ten přepis akorát do jiného názvu pole, na to by stačilo:

$servers = $data;

když už by to muselo být ;)

Editoval Zuben45 (16. 1. 2016 15:37)

iGavrilo
Člen | 32
+
0
-
<tr n:foreach="$servers as $data">
<td>{$data->id}</td>
...
</tr>

Trying to get property of non-object

Zuben45
Člen | 268
+
+2
-

iGavrilo napsal(a):

<tr n:foreach="$servers as $data">
<td>{$data->id}</td>
...
</tr>

Trying to get property of non-object

zkus

{$data['id']}

PS: samozřejmě, že se nejedná o objekty, ale o položky v poli ;)

Editoval Zuben45 (16. 1. 2016 16:17)