byforeRender vs. renderView

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

Ahojte,

v příkladech z tutoriálů to funguje, dřív mi to také fungovalo, ale najednou už nefunguje =(.

class NejakyPresenter extends BasePresenter {

    function byforeRender() {
        $this->template->menuItems = array(
                "Uvod:" => "Úvod",
                "Uvod2:" => "Projekty Hi-Fi",
                "Uvod3:" => "Projekty PA",
                "Uvod4:" => "Teorie",
                "Uvod5:" => "Tesla",
                "Odkazy:" => "Odkazy",
                "Uvod7:" => "Informace",
                "Uvod8:" => "O nás"
        );
    }

    function renderDefault() {
        /*$this->template->menuItems = = array(
                "Uvod:" => "Úvod",
                "Uvod2:" => "Projekty Hi-Fi",
                "Uvod3:" => "Projekty PA",
                "Uvod4:" => "Teorie",
                "Uvod5:" => "Tesla",
                "Odkazy:" => "Odkazy",
                "Uvod7:" => "Informace",
                "Uvod8:" => "O nás"
        );*/
    }

}

když přesně toto dám do byforeRender, tak Nette při procházení za pomocí foreach v @layout zahlásí:
Invalid argument passed to foreach resp. SmartCachingIterator; array or Iterator expected, NULL given.
jenže jakmile to hodím do renderDefault tak to už funguje. Nechápu to =(.

BasePresenter vypadá takto:

abstract class BasePresenter extends Presenter
{
	public $oldLayoutMode = FALSE;
}

Prosím o radu =)

jasir
Člen | 746
+
0
-

byforeRender asi ne, beforeRender bude lepší.

Jod
Člen | 701
+
0
-

tvl :D pablik funkšn akšnDifoult($ajdí = nic) {}

Fidilip
Člen | 2
+
0
-

No jéje toho jsem si nevšiml, děkuji =D =).