východzie dáta do editačného formulára z databázy a jQuery
- dubak
- Člen | 41
Prechádzal som fórum a nenašiel som spôsob ako vyriešiť môj problém, tak skúsim tuto. Mám zoznam záznamov a pri každom obrázok „editovať“ a keď naňho kliknem tak mi moja jQuery funkcia zobrazí widget aj s daným formulárom:
<div class="editovat_form" id="edit_form_{$iterator->getCounter()}">
<img src="{$basePath}/obr/no.png" alt="zatvoriť" title="zatvoriť formulár"
class="editovat_close" id="{$iterator->getCounter()}" />
{control editForm}
</div>
No a v presenteri mám samotnú továreň na komponentu. Tá sa mi zobrazí super, ale neviem ako mám do toho zobrazeného formulára dať dáta z databázy, aby ich mohol užívateľ editnúť a nemusel ich písať celé nanovo. Problém je, že v továrni nemám ako zistiť, aký záznam editujem, lebo do widget sa nedajú dať žiadne argumenty. Tým, že to robím cez jQuery tak to nieje „action“ cez ktorú by som si to „idečko“ poslal.
Veľmi ocenim nejaké tipy ako to riešiť.
- dubak
- Člen | 41
gmvasek napsal(a):
Můžeš si nad AppFormem vytvořit obálku, které ten argument budeš moct předat. Nicméně mi není jasné, jak vlastně chceš určit editovaný obrázek. (Proměnná $iterator->counter není směrodatná, nemáš tam žádné ID.)
No, ako si vytvorím obálku mi nie je jasné, lebo neviem čo to je, resp. som to doteraz nikdy nepoužil. Veľmi ocením ukážku.
Čo sa týka ID obrázku, niesom si istý čo tým myslíš, veď ID záznamu si chcem práve predať dovnútra AppForm create element továrne a to mám už načítané v šablóne v premennej. Ak máš na mysli ako zaručím otvorenie formulára pod príslušným obrázkom obrázkom záznamu, tak to som už vyriešil cez jQuery a práve spomínaný {$iterator->getCounter()}
- dubak
- Člen | 41
Tak aby som to len ukončil:
čo sa týka obálky, už som sa dopátrl k tomu čo by to mohlo byť, ja si
pod týmto pojmom predstavujem rozšírenie triedy na tvorbu komponentov
o abstraktného predka a z detskej triedy potom k metodam rodičovskej triedy
pristupujem. Ale toto môj problém nevyriešilo, lebo sa to vykoná opäť až
po refresh stránky (akcii).
Môj problém som vyriešil manuálnym napísaním formulára do šablóny a
naplnením dátami z pola, ktoré tam už mám. Pred odoslaním editovaného
formulára si overujem pomocou jQuery validitu dát a samotný formulár mi
spracuje handler.
Čiže som nevyužil továreň na komponenty, ale v tomto prípade to vôbec
nevadí, architektúra MVP bola dodržaná.