Ajax {link} v komponenty bez parametru
- Mikos
- Člen | 10
Zdravím,
Mám vytvorenú komponentu ktorá ma za úlohu pridať produkt do
obľúbených.(Cookies a pod to už mám poriešené).
V komponente mam handler AddToFavorite() ktorý ma zatiaľ za úlohu vložiť do pola $id produktu a redrawnuť snippet addFavoriteSnippet.
Nič zložité a priam v prezentry by to fungovalo úplne jednoducho.
Lenže keď som to dal do komponenty tak pri {link
addToFavorite!} mi to vypluvne 500 (Internal Server
Error) a počas pozorovania, že prečo som zistil, že link ktorý to
vlastne vygeneruje je bez parametru ID.
Dúfam, že je chyba len v tom a tak sa chcem opýtať ako to IDčko tam dostanem? :)
Pre lepšie pochopenie mam URL:
http://test.local/news/detail/1
– tu mam tu komponentu
s Ajaxom.
A ten sa dotazuje
http://test.local/news/detail?addToFavoriteComponent-AddToFavorite
Editoval Mikos (30. 10. 2015 13:39)
- jiri.pudil
- Nette Blogger | 1032
Ten odkaz taky nevypadá úplně ok, mělo by tam být
?do=addToFavoriteComponent-addToFavorite
. Jak se jmenuje ta
obslužná metoda? handleAddToFavorite
?
- Mikos
- Člen | 10
jj presne handleAddToFavorite()
celý link vyzerá v konečnom dôsledku takt
/product/detail?addToFavoriteComponent-id=1&do=addToFavoriteComponent-addToFavorite
keď použijem {link addToFavorite!, id ⇒ $id}
Skúšal aj ručne potom v Developer tool pridať tu /1 za detail a správa sa to potom ako má :)
Editoval Mikos (30. 10. 2015 15:57)
- jiri.pudil
- Nette Blogger | 1032
Hm. A presenter vypadá jak? Nette do odkazů automaticky předává
parametry, které jsou buď persistentní, anebo v signatuře cílové action*
nebo render* metody (action* má přednost) v presenteru. Nechybí ti tam
někde $id
?
Editoval jiri.pudil (30. 10. 2015 16:35)