Routa se nechce správně provést
- kazlik
- Člen | 19
Zdravím, mám problém s jednou routou, která sice přesměruje uživatele na správnou adresu, ale v presenteru zobrazuje routu výchozí. Přitom další routy fungují bez problému
Ve zdrojáku či odkazech vidím cestu
/homepage/thumbnail?name=Mp0e7A.jpg&width=718
a když na to kliknu, tak mě to přesměruje na
/i/thumb/718/Mp0e7A.jpg
které se i správně provede (mám upravený .htaccess, Nette se spustí)
HomepagePresenter.php
class HomepagePresenter extends BasePresenter
{
public function renderThumbnail($name, $width, $height = null)
{
$wallPicture = new \App\Components\Thumb($name, $width, $height);
$this->sendResponse( $wallPicture );
}
...
}
Když upravím renderThumbnail
na actionThumbnail
,
tak po kliknutí na odkaz zůstává původní (špatná) adresa, ale když
zadám správnou cestu, tak se script provede stejně jak s render, jen to
nepřesměrovává.
RouterFactory.php
class RouterFactory
{
/**
* @return Nette\Application\IRouter
*/
public static function createRouter()
{
$router = new RouteList;
$router[] = new Route('i/thumb/<width>[x<height>]/<name>', 'Homepage:thumbnail'); //Divné chování
$router[] = new Route('lastest', 'Homepage:lastest'); //Funguje
$router[] = new Route('user/<username>[/<show>]', 'User:detail'); //Funguje
$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
return $router;
}
}
Nevíte, proč mi ta routa blbne?
//edit
Zde je ještě výstup z tracy při generování fotky
pomocí
<img src="{link Homepage:Thumbnail $image->link, 151}">
Editoval kazlik (5. 2. 2017 22:48)
- vitkutny
- Člen | 73
Když upravím renderThumbnail na actionThumbnail, tak po kliknutí na odkaz zůstává původní (špatná) adresa, ale když zadám správnou cestu, tak se script provede stejně jak s render, jen to nepřesměrovává.
Přesměrování probíhá po action* a před render* (viz Presenter::run). Konkrétně to má na starosti metoda Presenter::canonicalize.
- Šaman
- Člen | 2659
kazlik napsal(a):
<img src="{link Homepage:Thumbnail $image->link, 151}">
Nevím, jestli to v tomto případě má vliv, ale :thumbnail
má být s malým t
.
Navíc by bylo lepší použít {plink}
. V šabloně presenteru je
to jedno, ale pokud bys to přesunul do komponenty, tak je to důležité.
Editoval Šaman (6. 2. 2017 0:09)