Routa mezi moduly se vygeneruje na jiný modul

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

Mám definovanou routu pro oauth ve frontend prostředí takto:

		$list[] = new Routers\Route('//www.%domain%/[!<locale [a-z]{2,4}>/]oauth-[!<type=google>]', array(
			'module'		=> 'Frontend',
			'presenter'		=> 'Sign',
			'action'		=> 'oauth',
			NULL			=> array(
				Routers\Route::FILTER_IN	=> function (array $params) {
					$params['do'] = $params['type'] . 'Login-response';
					unset($params['type']);

					return $params;
				},
				Routers\Route::FILTER_OUT	=> function (array $params) {
					if (empty($params['do']) || !preg_match('~^([^-]+)Login\\-response$~', $params['do'], $m)) {
						return NULL;
					}

					$params['type'] = Utils\Strings::lower($m[1]);
					unset($params['do']);

					return $params;
				}
			),
			'locale'		=> array(
				Routers\Route::VALUE	=> 'en',
				'fixity'				=> Routers\Route::CONSTANT,
			)
		));

v adminu chcu pak tu routu vykreslit do šablony a když udělám:

{link //:Account:Frontend:Sign:oauth}

Tak se mě vygeneruje tvar do adminu což není zrovna ok ani dle definice te routy. Co dělám špatně?

akadlec
Člen | 1326
+
0
-

nikdo žáden hint?

David Matějka
Moderator | 6445
+
0
-

Pouzij route list. Ten module parametr je pouze defaultni hodnota (stejne jako s ostatnimi parametry). Slo by to teda asi nejak zafixovat pomoci Nette\Application\Route::CONSTANT do metadat module parametru, ale pak by ti to neumoznilo pouzit jiny modul nez Frontend (a tedy ani ne zanoreny)

Editoval matej21 (6. 10. 2014 18:13)

akadlec
Člen | 1326
+
0
-

Tak teď si nejsem tak úplně jist zda ti rozumím. Co myslíš tím použit route list ?

David Matějka
Moderator | 6445
+
0
-
$list[] = $frontRouter = new RouteList('Frontend');
$frontRouter[] = new Route('....', array(stejne, jen vynechej module));

tim dojde k prefixovani modulu „Frontend“ pro vsechny routy

Editoval matej21 (7. 10. 2014 12:15)

akadlec
Člen | 1326
+
0
-

Jo ták, chápu, zkusím.

akadlec
Člen | 1326
+
0
-

Tak dík, funguje to ;)