link na handler z jiného presenteru

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

Ahoj,

chtěl bych se zeptat, zda-li je možné vytvořit ze šablony link na handler z jiného presenteru, než je presenter, který je momentálně vykreslen?

Tj. v templatě homepage/default.latte mám takovýto odkaz:

<a href="{link trideni!, 'hodnoceni', 80}" title="80 - 100 %">80 - 100 %</a>

v HomepagePresenter mám handler

<?php
public function handleTrideni($triditPodle, $triditTyp)
{
...
...
...
}
?>

a potřebuju pomocí {link} z jiné templaty např. seznam/default.latte zavolat tento handler s přesměrováním na stránku homepage/default.latte.

  1. Napadlo mě, že bych mohl dát ten handler do BasePresenteru, ale nevím jestli to bude košer.
  2. Pokud takto nejde použít handler, jde to udělat pomocí něčeho jiného?

Díky

Ani
Člen | 226
+
0
-

Nejde. Je to špatně.

Předělat signál na view (nebo přidat view) a směřovat na ten.

Editoval Ani (9. 12. 2010 23:07)

arron
Člen | 464
+
0
-

A zkousel jsi neco takovehleho:

<a href="{plink PresenterName:trideni!, 'hodnoceni', 80}" title="80 - 100 %">80 - 100 %</a>

?

SPetr
Člen | 4
+
0
-

To Ani: díky

To arron: jojo, to jsem zkoušel, bohužel mi kvůli tomu vyskočí červená smrt.. přes plink ani link mi to bohužel nejde

arron
Člen | 464
+
0
-

Jj, uz to vidim…mno ale ono to dava smysl, ze jo…

Editoval arron (10. 12. 2010 11:29)

SPetr
Člen | 4
+
0
-

arron napsal(a):

Jj, uz to vidim…mno ale ono to dava zmysl, ze jo…

Moc jsem nepochopil, co jsi tím myslel… asi bych si měl dát chvíli pauzu :)

Každopádně děkuji za pomoc…

Patrik Votoček
Člen | 2221
+
0
-

Je to tu napsáno už několikrát takže se budu opakovat. Signály nejde pouštět na jiném než aktuálním presenteru. Je to proto protože signál mění (by měl) aktuální stav presenteru a když ho voláš na jiném presenteru tak není znám výchozí stav.

arron
Člen | 464
+
0
-

To jsem mel na mysli, jenom me nenapadla ta spravna slova…

SPetr
Člen | 4
+
0
-

Aha.. to jsem asi nějak přehlídl.. děkuji