Cesta a přidělování parametru formuláři

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

Ahoj,

zajímalo by mě, jaký je nejlepší způsob řešení mého problému. dejme tomu, že mám seznam nějakých článků, kde po nakliknutí vypíšu text z databáze, formulář pro příspěvky a dané komentáře. to mi funguje. přes routování posílám akorát id a název daného příspěvku, to funguje. ale jak zajistit, aby se dané komentáře vkládaly k danému příspěvku?

je to možné přes form input hidden, kam bych uložil číslo daného příspěvku (ale jak to i udělat, jde vkládat v presenteru daným komponentám při actions hodnotu, kterou pak přiřadím do prvku?). přes hidden se mi to dělat nechce, ale asi není jiné zbytí, protože nevím, jak jinak předat hodnotu id článku, aby se k němu v databázi pak přidělily komentáře. s nette začínám.

u formulare vsak vidim, ze tam parametr mam a je pridana akorat potvrzovaci akce do=formularPotvrd, ale nejde mi ziskat ten parametr z adresy, abych tam mohl komentar vlozit :-/ … adresa vypada napriklad takto … www neco cz/seznam/2?do=mujForm-submit

děkuji za nasměrování nebo přímou radu

Editoval dEath (5. 7. 2010 21:55)

lucass
Člen | 89
+
0
-

Podle mého názoru je nejlepší ten hidden u formuláře. Je to jednoduché.

  1. Klikneš na článek, v URL máš id článku, ne?
  2. Při načítání toho článku a komentářů konstruuješ i formulář pro vložení nového komentáře, takže můžeš přes $form->addHiddenField(‚name‘)->setValue($this->getPresenter()->getParam(‚_ID_clanku_z_URL_‘)) nastavit hodnotu toho ID z URL.
  3. Po odeslání formuláře ti to přijde v POSTu a pak už to jednoduše uložíš do DB.

Lu.

dEath
Člen | 39
+
0
-

lucass napsal(a):

Podle mého názoru je nejlepší ten hidden u formuláře. Je to jednoduché.

  1. Klikneš na článek, v URL máš id článku, ne?
  2. Při načítání toho článku a komentářů konstruuješ i formulář pro vložení nového komentáře, takže můžeš přes $form->addHiddenField(‚name‘)->setValue($this->getPresenter()->getParam(‚_ID_clanku_z_URL_‘)) nastavit hodnotu toho ID z URL.
  3. Po odeslání formuláře ti to přijde v POSTu a pak už to jednoduše uložíš do DB.

Lu.

jojo takhle to jde, já jsem pak našel, protože s nette víceméně začínám, možnost využít PresenterRequest a díky tomu to jde vlastně i bez nutnosti hidden. díky za odpověď