Načítanie premenných do @layout.latte pomocou beforeRender()

sidzejs
Člen | 9
+
0
-

Pokúšam sa o načítanie premenných do @layout.latte pomocou beforeRender().

Môj base presenter:

abstract class BasePresenter extends \Nette\Application\UI\Presenter{
    protected function beforeRender(){
        $this->template->info1 = "xyz";
}
}

A v @layout.latte chcem načítať túto premennú {$info1}, no stále mi vyhadzuje error Undefined variable.

Nevie niekto, v čom je chyba? Postupoval som podľa návodu (https://doc.nette.org/cs/quickstart), no stále mi nefunguje načítanie premenných do @layout.latte, ako keby tú metódu beforeRender() ignorovalo.

rkor
Člen | 62
+
0
-

V tom návodu je docela důležitá poznámka:

parent::beforeRender(); // nezapomeňte volat metodu předka, stejně jako u startup()

tedy:

abstract class BasePresenter extends \Nette\Application\UI\Presenter{
    public function beforeRender(){
        parent::beforeRender();
        $this->template->info1 = "xyz";
    }
}
sidzejs
Člen | 9
+
0
-

rkor napsal(a):

V tom návodu je docela důležitá poznámka:

parent::beforeRender(); // nezapomeňte volat metodu předka, stejně jako u startup()

tedy:

abstract class BasePresenter extends \Nette\Application\UI\Presenter{
    public function beforeRender(){
        parent::beforeRender();
        $this->template->info1 = "xyz";
    }
}

Bohužiaľ to ani po pridaní toho volania nefunguje :(

abc
Člen | 92
+
+1
-

Dědíš HomepagePresenter od toho BasePresenteru?

sidzejs
Člen | 9
+
0
-

abc napsal(a):

Dědíš HomepagePresenter od toho BasePresenteru?

myslím, že nie. Treba to? ak hej, tak ako?

CZechBoY
Člen | 3608
+
+1
-

Pokud nekde beforeRender prepisujes tak je treba zavolat parent::beforeRender() taky.

rkor
Člen | 62
+
0
-

…Postupoval som podľa návodu (https://doc.nette.org/cs/quickstart)…

V tom návodu to všechno máš:

class HomepagePresenter extends BasePresenter
{

}
sidzejs
Člen | 9
+
+1
-

rkor napsal(a):

…Postupoval som podľa návodu (https://doc.nette.org/cs/quickstart)…

V tom návodu to všechno máš:

class HomepagePresenter extends BasePresenter
{

}

Ok, díky, po tom čo som toto nastavil to už funguje.