Neaktualizuje se celý snippet

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

Ahoj,
narazil jsem na trochu zvláštní problém, který moc nechápu.

Mám v šabloně snippet, který v sobě obsahuje vykreslovanou tabulku:

{snippet xxx}
<table>
...
<tr n:foreach="$items as $item">
...
<td><a class="ajax" href="{link yyy!}">xyz</a></td>
...
</tr>
</table>
{/snippet}

V akci normálně invaliduji snippet.

Má se dít to, že signál mění boolovskou hodnotu značící aktivovaný/deaktivovaný stav, což se signalizuje ikonkou.

Bohužel se děje to, že se po kliknutí na odkaz se nevrátí celá tabulka, ale vrátí se pouze ten jeden konkretní řádek, kde k překreslení ikonky došlo.

Asi chápu proč se to děje, ale netusím jak to napravit. Zkoušel jsem jako snippet udělat i jiné části, ale rozchodit se mi to nepovedlo, protože uvnitř snippetu není položka $item dostupná.

Jak dosáhnout toho chování, která jsem popsal a které potřebuji?

futuretux
Člen | 24
+
0
-

KONEC – VYŘEŠENO

Jsem blb, veděl jsem, že by měl pomoci dynamický snippet, ale kvůli jedné chybě to nefungovalo, tak jsem tuhle cestu zavrhnul.

Pokud by tohle ještě někdo někdy řešil, tak správná odpověd včetně popisu toho jak to funguje je tady: https://forum.nette.org/…sim-o-ukazku#…

Ot@s
Backer | 476
+
0
-
  1. Pošli ještě kód, kterým plníš template.
  2. Moc nerozumím použití signálu bez parametru {link yyy!} ve foreach(). Očekával bych něco jako {link yyy!, $item->id}.
  3. Nerozumím níže uvedenému:

ale vrátí se pouze ten jeden konkretní řádek

Nebude problém v nastavení obsahu template->items? Protože snippet zaobaluje celu tabulku, takže použitý větný obrat „konkretní řádek“ znamená co?