jak zjednodušit URL při routování
- vlkodlak
- Člen | 175
zdravím, před nějakou dobou, se mi, náhodou, podařilo nastavit kombinaci mapování a rotování (?!)
tak aby místo http://www.domena.cz/…page/seznam/ v url zobrazilo jen http://www.domena.cz/seznam/
Je to jednoduchý projekt s jedním presentrem
- vlkodlak
- Člen | 175
@kamil_v dotaz je v tom jak upravit masku (motám se v k
„kruhu“) . . .
`
application:
mapping:
*: App*Module\Presenters*Presenter
`
. . . a to co najdu na internetu mi moc nenapovídá
tak aby v url webu bylo misto http://mojedomena.cz/homepage/seznam → http://mojedomena.cz/seznam
- David Matějka
- Moderator | 6445
na mapping pravděpodobně sahat nemusíš, tím nastavuješ, v jakém namespace má nette hledat presenter.
potřebuješ nakonfigurovat routování.
- jak vypadá presenter, který chceš naroutovat na „/seznam“? (modul, namespace, akce)
- jak vypadá současné routování?
- Kamil Valenta
- Člen | 822
To jsou dvě různé věci, třebaže na sebe navazují.
Routování obstará to, že vezme URL, třeba https://www.example.com/homepage/seznam a přeloží ji na Presenter a akci. Tedy např. Front:Homepage:seznam
Mapping pak vezme Presenter, třeba Front:Homepage a namapuje ho na nějaký namespace, tedy např. App/FrontModule/HomepagePresenter
Pokud máš jednoduchý projekt s jedním presenterem, můžeš jej z routy vypustit třeba takto:
$router[] = new Route('https://www.example.com/[<action>]', [
'presenter' => 'Homepage',
]);
Editoval kamil_v (9. 11. 2020 10:13)
- vlkodlak
- Člen | 175
@DavidMatějka nic světoborného, když se na to koukám tak veškeré zobrazení jsem dělal v seznam.latte není tak žádná logika ani data jen zobrazení statických jsem a telefonu
HomepagePresenter
<?php
declare(strict_types=1);
namespace App\Presenters;
use Nette;
final class HomepagePresenter extends Nette\Application\UI\Presenter
{
}
Router
public static function createRouter(): RouteList
{
$router = new RouteList;
$router->addRoute('<presenter>/<action>', 'Homepage:default');
return $router;
}
- David Matějka
- Moderator | 6445
v tom pripade to muzes udelat, jak pise @kamil_v. pripadne tam dat
staticky routy ->addRoute('seznam', 'Homepage:seznam')