Přenesení parametru?

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

Zdravím,

Vím, že už se to tu jednou řešilo, ale nějak mi to nechce docvaknout…

Potřebuji v šabloně nastavit něco takového {plink presenter:view param1,param2}, tak
abych mohl zavolat příslušnou metodu v presenteru a měl oba dva parametry.

Jak na to?

Předem díky

Jod
Člen | 701
+
0
-

Takto

<?php
function renderView($param1, $param2)
{
	// ..
}
?>
TanisCZ
Člen | 80
+
0
-

Přesně tak to mám, ale ten druhý parametr se mi nechce přenášet.

Možný je problém v routeru?

<?php
 $router = $application->getRouter();

 $router[] = new Route('index.php', array(
	'module' => 'default',
	'presenter' => 'default',
 ), Route::ONE_WAY);

 $router[] = new Route('<presenter>/<action>/<id>', array(
	'presenter' => 'default',
	'action' => 'default',
	'id' => NULL,
 ));
?>
Jod
Člen | 701
+
0
-

Mne sa zdá že to by ti malo aj bez routy prenášať.

Presenter:

<?php
function renderHmm($param1, $param2)
{

}
?>

Template:

<a href="{link hmm 'jedna', 'dva'}">Hmm</a>

Hodí ma to na adresu ../hmm/?param1=jedna&param2=dva

Routu mám nastavenú defaultne.

Keď chceš aby ti fungovalo to ID v route tak treba zmeniť názov parametra metódy:

<?php
function renderHmm($id, $param2)
{

}
?>

Potom ma presmeruje na ../hmm/jedna?param2=dva

Pomohlo? :)

TanisCZ
Člen | 80
+
0
-

Už to funguje :-)

Chyba byla mezi klávesnicí a židlí. Volal jsem presenter s parametrama v odkazu, který jsem neměl ani vygenerovanej. Už je vidět, že bych si měl jít zaplavat a trošku se protáhnout.

Díky za ochotu a omlouvám se za zbytečné zdržování