Routování události na komponentě – drobný problém

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

Chci napsat routu pro komponentu, která bude volání handlerů upravovat na tvar stranka-s-komponentou/<do>.
Použil jsem toto:

return  new Route("stranka-s-komponentou/<do>", array(
						'presenter' => 'Default',
						'action' => 'Default',
						'do' => Null
		));

Ovšem tato routa vytvoří odkaz stranka-s-komponentou/nazevkomponenty-jmenohandleru a já potřebuju dostat jen stranka-s-komponentou/jmenohandleru.

Editoval pepakriz (14. 6. 2010 10:56)

na1k
Člen | 288
+
0
-

Napadá mě snad jen použít překladový slovník

Přijde mi to ale jako celkem mizerné řešení, protože tam budeš muset předem definovat všechna jména handlerů. Na druhou stranu mi ale uniká čeho se vlastně snažíš dosáhnout a pocit mi napovídá, jestli náhodou nejde o nevhodný návrh. Většinou není potřeba routy takhle znásilňovat. Třeba ale máš dobrý důvod a já se rád něco přiučím :)

pepakriz
Člen | 246
+
0
-

Přijde mi to ale jako celkem mizerné řešení, protože tam budeš muset předem definovat všechna jména handlerů. Na druhou stranu mi ale uniká čeho se vlastně snažíš dosáhnout a pocit mi napovídá, jestli náhodou nejde o nevhodný návrh. Většinou není potřeba routy takhle znásilňovat. Třeba ale máš dobrý důvod a já se rád něco přiučím :)

Ano, je to nevhodný návrh. Už jsem to upravil, aby odkaz nevolal handler, ale posílal persistentní proměnnou, což s sebou přineslo jeden problém. Odkaz mám nyní takto:

{link this, 'page'=>'neco'}

A podle proměnné page měním obsah při vykreslování komponenty. Ikdyž je odkaz ajaxový, zpět se posílá HTML.