Jak překreslit pouze jeden snippet?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- dreken
- Člen | 36
Potřeboval bych překreslit pouze jeden konkrétní snippet, ale aby se nepřekreslovaly ostatní.
Mám totiž na webu poměrně komplikovaný ajax formulář, který je uvnitř snippetu. A uvnitř formuláře mám další snippet, který zobrazuje náhledy nahraných fotek. Problém ale je, že když uživatel nahraje další fotku a chci překreslit tento konkrétní snippet s náhledy, překreslí se i hlavní snippet, ve kterém je celý formulář a všechny údaje, které do něj zadal uživatel se ztratí.
Pro názornost zdroják vypadá nějak tak:
<div n:snippet="edit-offer-form">
{form editOfferForm}
{input name}
...
<div n:snippet="images-manager">
Náhledy obrázků, tento snippet je v samostatné komponentě...
</div>
...
Další část formuláře...
{/form}
</div>
Pokud zadám $this->redrawControl("image-manager")
, bohužel
to překreslí i edit-offer-form a to uživateli resetuje formulář. Děkuji
za rady.
- David Matějka
- Moderator | 6445
Nemas nekde (treba v render metode) invalidaci toho snippetu
edit-offer-form
?