snippet uvnitř foreach a tabulky

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

Dobrý den,
potřeboval jsem udělat tabulku, kde každý řádek by byl snippet pro ajaxové změny
zkoušel jsem následující:

<?php
<table>
    @{foreach $data as $key=>$val}
        {snippet row$key tr}
            <td>$val['id']</td>
             .....
         {/snippet}
    @{/foreach}
</table>
?>

bez zavináčů to hlásí klasické parse error
problém je v tagu snippetu. Potřebuju aby to obalil do <tr id="snippet--rowX"> a to se mi nedaří.
Stránka se zobrazí, ale obsah snippetu se vypíše jako první na stránce bez tr a td tagu. Jen čistý obsah těch buněk. Když vyhodím TR z hlavičky snippetu, obalí se to celé <div>, ale obsah je zase místo <td>$val['id']</td> jen $val['id']
Nevíte prosím někdo čím bz to mohlo být?

bazo
Člen | 620
+
0
-

musis obalit snippetom celu tabulku namiesto snippetu pre kazdy riadok.

redhead
Člen | 1313
+
0
-

mě to tedy funguje, ovšem chybu máš v

<td>$val['id']</td>

mělo by být

<td>{$val['id']}</td>
Rampa
Člen | 65
+
0
-

ty lomený závorky tam mám, jen tady jsem je zapoměl napsat.

ale já nechci překreslovat celou tabulku, pouze jeden řádek při editaci

redhead
Člen | 1313
+
0
-

chyba bude někde jinde, protože mě to jde (sice sem to ajaxově překreslit nezkoušel, ale to by jít mělo) v poslední stabilní verzi

Rampa
Člen | 65
+
0
-

tak jsem si to pokusně otevřel v IE a zjistil jsem, že mi ten tag <tr> sice vytvořil, ale hodil úplně mimo tágy <html> :( To mi Firefox neukázal
a z <td> mi udělal </td/>
tak teď už to úplně nechápu, protože kduž vuhodím {snippet}a{/snippet} a doplpním místo toho<tr></tr> tak se tabulka vykreslí normálně

Ola
Člen | 385
+
0
-

To vypadá na chybu se zavináčema – máš je všude, kde mají být? Viz https://forum.nette.org/…agie-v-praxi

Rampa
Člen | 65
+
0
-

to Ola: Bingo slovutný mudrci!!!!
Doplnil jsem zavináč před {block content} a už to šlape.
Děkuji. Zachránil jsi mě a možná díky tobě půjdu dnes i spát :)

bazo
Člen | 620
+
0
-

Rampa napsal(a):
ale já nechci překreslovat celou tabulku, pouze jeden řádek při editaci

tie hodnoty su vo foreach. pri invalidacii snipetu sa vykona co je v jeho vnutri. cize to bud nebude fungovat, alebo dostanes tu hodnotu co je vypisana alebo sa aj tak vykona cely foreach

redhead
Člen | 1313
+
0
-

fungovat by to mělo, ale ano bude se procházet celý foreach, čili kdyby se překreslila celá tabulka, tak by to bylo celkem jedno

Rampa
Člen | 65
+
0
-

tak ještě jednou…
Když dám zavináč před {blck content}, tak nejdou invalidovat vůbec žádný snippety na stránce (ani ty mimo foreach), ale zobrazí se to správně. Vrací se jen „state“:[]
Když ten zavináč vyhodím, sice se to zobrazí úplně blbě a jinde, ale invaliduji se ty správný snippety a data přijdou správně, ale samozřejmě se stránka neaktualizuje, protože chybí obalovací tágy kolem snippetů
Tak teď už to vůbec nechápu… :(

Ola
Člen | 385
+
0
-

Máš ho i před include?