Vlastní jméno presenteru v URL
- neznamy_uzivatel
- Člen | 115
RouterFactory.php:
$router->addRoute('o-nas', 'JinyPresenter:default');
https://doc.nette.org/…tion/routing
Editoval neznamy_uzivatel (25. 12. 2021 9:18)
- DrakMC
- Člen | 35
Díky! Vyzkoušel jsem to, ale nefunguje to. Pokud otevřu webovou stránku:
domena.cz/test, tak mi to
vypíše: Cannot load presenter 'Test', class 'App\Presenters\TestPresenter' was not found.
Do RouterFactory.php jsem pouze přidal
$router->addRoute('test', 'Homepage:default');
. Je potřeba
dělat něco dalšího?
- DrakMC
- Člen | 35
Takto vypadá můj RouterFactory.php:
<?php
declare(strict_types=1);
namespace App\Router;
use Nette;
use Nette\Application\Routers\RouteList;
final class RouterFactory
{
use Nette\StaticClass;
public static function createRouter(): RouteList
{
$router = new RouteList;
$router->addRoute('<presenter>/<action>[/<id>]', 'Homepage:default');
$router->addRoute('test', 'Homepage:default');
$router->addRoute('o-nas', 'AboutUs:default');
return $router;
}
}
Při otevření domena.cz/test/ se zobrazí: https://i.imgur.com/EyQuh3U.png
Při otevření domena.cz/o-nas/ se zobrazí: https://i.imgur.com/tu7KEOs.png
Editoval DrakMC (26. 12. 2021 22:57)
- David Matějka
- Moderator | 6445
J, takže to není jako první routa, viz doc
Je důležité, v jakém pořadí jsou routy definovány, protože se zkouší postupně odshora dolů. Platí pravidlo, že routy deklarujeme od specifických po obecné.