Parametr action v URL – přesměruje na default

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

Ahoj,
vytvořil jsem si synchronizační skript pro práci s externí službou problém je, že dle dokumentace „vzdálené služby“ je nutné mít několik parametrů z toho je jeden action. Naštěstí action nabírá pouze hodnot update|delete. Takže jsem si vytvořil renderUpdate a renderDelete a chtěl bych to volat způsobem
example.com/index.php?presenter=estatePresenter&action=update&estateid=123
popřípadě
example.com/estate?action=update&estateid=123

Nic méně u obou url adres se mi aplikace přesměruje do example.com/estate/ .

Routy mám nastavené standardně

	public function createRouter()
	{
		$router = new RouteList();
		$router[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY);
		$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');

		return $router;
	}

Jak to prosím lze řešit?
Díky,
A.

Jan Tvrdík
Nette guru | 2595
+
0
-

Třeba takto:

public function createRouter()
{
    $router = new RouteList();
    $router[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY);
    $router[] = new Route('estate', array('presenter' => 'Estate'));
    $router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');

    return $router;
}
adioverride
Člen | 26
+
0
-

Díky, původně jsem chtěl zachovat hezkou url pro ostatní akce krom delete a update , ale vyřešil jsem to že importní věci jsem dal do jiného presenteru.

Díky,
A.