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 | 1271
 
@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 ;-)