Lattissimo – šablony bez presenteru
- janmichek
- Člen | 2
Hoja, dávám do fora toto jednoduché demo, které jsem sám postrádal.
Jednoduchý router vezme poslední parametr z url, najde stejně pojmenovanou
šablonu a zobrazí ji s includovanými předky.
Možná bude někdo nadávat, že jsem nepochopil filosofii presenteru, ale
tak tomu není.
Frontendisti, kteří chtějí vytvořit sajtu s pár podstránkami a
nechtějí duplikovat header bez nutnosti tvoření prázdných presenterů,
myslím ocení.
- Jan Tvrdík
- Nette guru | 2595
Jde to ještě zjednodušit.
$router[] = new Route('[<path>/]', function ($presenter, $path) {
if (!$path) {
$path = 'welcome';
}
$filename = __DIR__ . '/templates/' . $path . '.latte';
if (!is_file($filename)) {
$filename = __DIR__ . '/templates/error.latte';
}
$template = $presenter->createTemplate()->setFile($filename);
$template->templateName = $path;
return $template;
});
- janmichek
- Člen | 2
Jan Tvrdík napsal(a):
Jde to ještě zjednodušit.
$router[] = new Route('[<path>/]', function ($presenter, $path) { if (!$path) { $path = 'welcome'; } $filename = __DIR__ . '/templates/' . $path . '.latte'; if (!is_file($filename)) { $filename = __DIR__ . '/templates/error.latte'; } $template = $presenter->createTemplate()->setFile($filename); $template->templateName = $path; return $template; });
Díky Jane, toto je elegantní řešení. Nebude ti vadit, když ho použiju v mém příkladu?
- Felix
- Nette Core | 1196
@janmichek
Driv jsem zkousel neco podobneho s Klein.PHP – jednoduchy router v PHP.
Tohle je komplet standalone Latte, bez containeru apod.
https://github.com/…einPHP-Latte
Treba se ti to bude hodit ;-)