Zadany parameter v url hlada latte
- Tomas8698
- Člen | 109
Ahojte,
Pracujem na aplikacii, ktora pracuje s url a ked user zada /gallery/name tak by
malo spustit v galleryPresenteri::actionDefault($path), to name chcem pouzit na
vytvorenie noveho file, no zatial to hlada template. Poradite mi niekto ako sa
toho zbavit? aby to nehladalo latte subor?
public function renderDefault( $path = false): void
{
$dir = dirname(__DIR__ ,2);
$galleryFile = $dir.'/www/AllGalleries'; // tu bude cesta k vsetkym galleriam
$pathAllGallery = '/AllGalleries';
if ($this->getHttpRequest()->isMethod('GET')){
$galleries = FileSystem::read($galleryFile);
// dd($galleries);
foreach ($galleries as $gallery){
$data = [
'path' => $gallery["path"],
'name' => $gallery["name"]
];
}
$this->sendJson($data);
}
Dakujem za kazdu radu :)
Editoval Tomas8698 (3. 10. 2021 16:08)
- MajklNajt
- Člen | 502
- ukáž ako máš napísaný router – ak tam más štandardnú masku
<presenter>/<action>
tak sa tigallery/name
prekladá narenderName()
a tedarenderDefault()
sa ti vôbec nezavolá… treba si masku upraviť na napr.<presenter>/<path>
- v
renderNieco()
by si už nemal volať$this->sendJson()
, zmeň si to naactionNieco()
- Tomas8698
- Člen | 109
Dakujem pekne, teraz to uz funguje :)
Router teraz vyzera takto
public static function createRouter(): RouteList
{
$router = new RouteList;
$router->addRoute('<presenter>/<action>/', 'Homepage:default');
$router->addRoute('<presenter>/<path>', 'Gallery:default');
$router->addRoute('<presenter>/<width>/<height>/<fullpath>', 'Images:default');
return $router;
}