Snippet jako řádek v dynamické tabulce (Nette 2.0)
- B4nan
- Člen | 13
Zdravím,
mám na nette postavené CMS, a dneska jsem se pustil do zajaxování některých rutinních operací, ale celkem rychle jsem se zasekl – můj problém:
Mám tabulku, ve které vypisuji stránky, každá stránka se dá
(de)aktivovat, popřípadě přesunout nahoru nebo dolu. Celkem jednoduše se mi
podařilo zajaxovat to celé, ale rád bych místo použití jednoho snippetu
kolem celé tabulky použil pro každý řádek jeden, a pak invalidoval jenom
ty, které se nějak zrovna mění. Tudíž potřebuji v makru
{snippet xxx}
použít nějaký jednoznačný identifikátor. Když
se ale pokusím přidat tam třeba ID stránky, tak dostávám výjimku, že
název bloku musí být alfanumerický (problém je v tom, že se mi
nepřeloží php kód, a jako název se bere vyescapovaná proměnná).
Zkoušel jsem více variant, například {snippet $page->id}
,
{snippet "page_$page->id"}
,
{snippet "page_{$page->id}"}
.
Ideálně bych chtěl před ID přidat nějaký řetězec, protože mám v tabulce jak stránky, tak layouty, tzn. některá ID se mohou opakovat.
Na fóru jsem našel akorát starší posty, podle kterých by měl minimálně ten první zápis fungovat, ale to bylo ještě z dob, kdy se používali zavináče a SnippetHelper.
- Honza Kuchař
- Člen | 1662
Myslím že ten problém se snippetem vyřešíš takto: {snippet „test“.$test->bla}
Ale bacha, snippet vygeneruje do stránky div, který nemám v tabulce co dělat. Musíš změnit druh elementu, který snippet generuje. Ale jestli to bude nějak fungovat na Nette 2 to fakt nevím. 0.9.x sis musel přepsat SnippetHelper: https://forum.nette.org/…uhy-parametr
- David Grudl
- Nette Core | 8228
Implementace zatím není kompletní, info viz https://forum.nette.org/…zi-nette-2-0
- bojovyletoun
- Člen | 667
zde je experimentální podpora dynamické snippetů. Pak exituje pár hacků + příspěvky pod. Taky se to dá řešit komponentou
Pozn: mluvím samozřejmě o verzi 2, tam jsou snippety nahrazeny bloky. Zde je souhrn
Osobně jsem zvědavý na to řešení v prvním linku, až to někdo vyzkouší, a řekne jak to funguje.
Editoval bojovyletoun (7. 4. 2011 22:55)