Ajax {link} v komponenty bez parametru

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

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)

Azathoth
Člen | 495
+
0
-

no tak předej to id, takže

{link addToFavorite!, id ⇒ $id}

Mikos
Člen | 10
+
0
-

Stále to iste, product/detail?addToFav..... tým pádom mi to vyhodí 500 jedine čo spravilo tak dalo ?addToFavoriteComponent-id=1

jiri.pudil
Nette Blogger | 1032
+
0
-

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
+
0
-

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
+
+1
-

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)

Mikos
Člen | 10
+
0
-

Dík za rady nakoniec som to spravil a naozaj mi tam chýbalo $id v actionDetail(). Taká blbosť a toľko problémov :) ešte raz Dík :)