Nefunkční n:block=„title“

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
bluray
Člen | 178
+
0
-

Dobrý den, nefunguje mi n:block=„title“. v @layout.latte mám tohle:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">

        <title>{ifset #title}{include title|striptags} | {/ifset}|Neco</title>
    </head>
    <body>
  <div class="mainwrapper">
            <div n:foreach="$flashes as $flash" class="flash {$flash->type}">{$flash->message}</div>
            {include header.latte}
            {include leftpanel.latte}
            {include rightpanel.latte}
            {include content}

        </div>
    </body>
    </html>

a v rightpanel.latte:

<div class="pagetitle">
                    <h5>Nadpis</h5>
                <h1 n:block="title">Nadpis</h1>
            </div>

Díky za radu

Casper
Člen | 253
+
0
-

Pokud se nemýlím, tak aby toto fungovalo, musí šablona extendovat layout, kde se blok nachází. Nad includovanými soubory toto nefunguje.

{extends @layout.latte}
bluray
Člen | 178
+
0
-

Díky, já to vyřešil tak že jsem přenesl ten div do layoutu, stejně bude společný pro všechny šablony.

Mám ale jiný problém. Vytvořil jsem si modul app/FileModul a v něm třídu FileManagerModul a nejsem schopen použít ten @layout.latte který je ve složce templates.
Vyhazuje mi to tuto chybu:
Layout not found. Missing template ‚…/www/pokus/app/FileModul/templates/FileManager/@layout.latte‘.

Jak můžu volat nadřazenou šablonu? Zkouším něco takového:

abstract class BasePresenter extends Nette\Application\UI\Presenter
{
    public function startup()
    {
        parent::startup();
        $this->setLayout("layout");
    }
}

class FileManagerPresenter extends BasePresenter{

    public function startup() {
        parent::startup();
    }

    public function renderDefault(){

    }
}