Nadradená kategória v route
- minimal
- Člen | 12
Ahojte,
prišiel som si k vám poradu. Mám nejakú „entitu“ ktorá môže mať kategóriu a zároveň môže ale nemusí mať nadradenú kategóriu.
Snažím sa dostiahnuť výsledku http://localhost/…ia/kategória prípadne len http://localhost/…ia/kategória
Absolútne netuším ako na to a už som dokumentáciu prešiel asi 10 zhora dole. Momentálne som sa dostal do stavu kedy mi funguje len http://localhost/…ia/kategória
$frontendModule[] = new Route('kategoria/<slug>', [
'presenter' => 'Category',
'action' => 'default',
'slug' => [
Nette\Routing\Route::FILTER_OUT => 'Nette\Utils\Strings::webalize',
],
]);
public function renderDefault(string $slug, int $page = 1)
{
// something
}
Vedel by ma niekto postrčiť prípadne poslať nejaký sample ? Napadlo ma spraviť ešte jeden optional parameter v render metóde ale to je dosť blbosť.
Ďakujem
- Pepino
- Člen | 257
Řekl bych, že hledáš:
https://doc.nette.org/…tion/routing#…
A tohle:
https://doc.nette.org/…tion/routing#…
$frontendModule[] = new Route('<slug .+>', [
'presenter' => 'Category',
'action' => 'default',
null => [
Route::FILTER_IN => function (array $params): array { /* ... */ },
Route::FILTER_OUT => function (array $params): array { /* ... */ },
],
]);
- minimal
- Člen | 12
Pepino napsal(a):
Řekl bych, že hledáš:
https://doc.nette.org/…tion/routing#…
A tohle:
https://doc.nette.org/…tion/routing#…$frontendModule[] = new Route('<slug .+>', [ 'presenter' => 'Category', 'action' => 'default', null => [ Route::FILTER_IN => function (array $params): array { /* ... */ }, Route::FILTER_OUT => function (array $params): array { /* ... */ }, ], ]);
Výborne vieš mi povedať ako to cca použiť pre môj zámer ? Predpokladám že si tam natiahnem DB a na základe toho čo mi ide do IN filtrovať v OUT ?
- MajklNajt
- Člen | 502
minimal napsal(a):
Pepino napsal(a):
Řekl bych, že hledáš:
https://doc.nette.org/…tion/routing#…
A tohle:
https://doc.nette.org/…tion/routing#…$frontendModule[] = new Route('<slug .+>', [ 'presenter' => 'Category', 'action' => 'default', null => [ Route::FILTER_IN => function (array $params): array { /* ... */ }, Route::FILTER_OUT => function (array $params): array { /* ... */ }, ], ]);
Výborne vieš mi povedať ako to cca použiť pre môj zámer ? Predpokladám že si tam natiahnem DB a na základe toho čo mi ide do IN filtrovať v OUT ?
routing je komplexná problematika, takže odporúčam začať tu: https://doc.nette.org/…tion/routing
už si tu mal otázku ohľadom routovania, no nikto ti tu nebude písať hotové riešenie pre každý tvoj use-case, takže v prvom rade študuj, skúšaj, a keď sa zasekneš na konkrétnej chybovej správe alebo nepochopíš konkrétnu vetu v dokumentácií, potom ti veľa ľudí s radosťou pomôže
- petr.pavel
- Člen | 535
Souhlasím, že fórum je na pomoc s konkrétními, detailními případy.
Když si dumpneš $params
, zjistíš, co ti tam chodí.
Krokováním Route::match()
a Route::constructUrl()
můžeš vysledovat, co se děje s parametry v běžném případě, a jak
případně zařídit přesměrování z url s volitelnou nad-kategorií na
url bez ní (chceš to mít kanonické).
Kdybys potřeboval víc postrčit, určitě se tu najdou lidé, kteří rádi
pomůžou za peníze. Třeba já :-) mentorováním se živím. Mrkni na moje
reference a hodinovku, a jestli jsi s ní v pohodě, můžeme si zavolat přes
Zoom.
https://www.naucmese.cz/…b-php-js-sql
MajklNajt napsal(a):
už si tu mal otázku ohľadom routovania, no nikto ti tu nebude písať hotové riešenie pre každý tvoj use-case, takže v prvom rade študuj, skúšaj, a keď sa zasekneš na konkrétnej chybovej správe alebo nepochopíš konkrétnu vetu v dokumentácií, potom ti veľa ľudí s radosťou pomôže