Neprovedení renderDefault() z nadřazeného presenteru*

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

Zdravím,

zase mám nějaký problém.

V HomepagePresenter renderuji modely takto:

class HomepagePresenter extends BasePresenter
{

	public function renderDefault()
	{
                $this->template->texts = \TextsModel::fetchAll();
                $this->template->videos = \VideosModel::fetchNews();
                $this->template->users = \UsersModel::fetchAll();
                $this->template->articles = \ArticlesModel::fetchAll();
                //$this->template->uzivatel = UserModel::fetchAll();
                //$user = $this->getUser();
	}

}

Na tomot linku vse parádně funguje, ale po příhlášení a výběru typu (link na jiný view) to už nenajde proměné

Zkuste se přihlásit pomocí
email: test@test.cz
pswd: test

aby jste to viděli samy (laděnku).

PridatReceptPresenter ma extends z Homepage presenteru takže by to jít mělo ne? A i když přidám renderDefault do PridatReceptPresenter, nepomůže to.

Jinak výběr je pridatPresenter:default a video s textem pridatPresenter:text a pridatPresenterVideo…

Nemůžete mě prosím nějak nasměrovat, jak toto vyřešit?

Děkuji a s přáním pěkného večera
Wicked

Jan Tvrdík
Nette guru | 2595
+
0
-

@wicked: metoda renderDefault se volá jen pokud akce je default. Chceš-li, aby se volala pro všechny akce (v tvém případě pro akci text), tak ji přejmenuj na beforeRender.

MartinitCZ
Člen | 580
+
0
-

Osobně bych tě nasměroval do dokumentace, jelikož tohle jsou nepochopené základy.
Ale odpověd už máš ;)

Editoval martinit (4. 5. 2013 23:22)

wicked
Člen | 290
+
0
-

Jan Tvrdík napsal(a):

@wicked: metoda renderDefault se volá jen pokud akce je default. Chceš-li, aby se volala pro všechny akce (v tvém případě pro akci text), tak ji přejmenuj na beforeRender.

Aha aha … děkuji pěkně za radu :) Příště už na to dám pozor :)