Ztracená proměná ve funkci formXXXSubmitted

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

Objevil jsem zajímavou vec, v BasePresenteru nacitam usera za pomoci radku:

abstract class BasePresenter extends Presenter
{
	public function beforeRender()
	{	...
	            $this->user = Environment::getUser()->getIdentity();
		...
	}

a pak se na to odkazuju v ArticlesPresenteru:

class Front_ArticlesPresenter extends BasePresenter
{

    public function renderDefault()
    {
	debug::dump($this->user);
    }

    public function formEditSubmitted(AppForm $form)
    {
        debug::dump($this->user);
	...
    }

v defaultu mi to normalne vypise veskere udaje o userovi ale ve submittedu to hazi prachsproste NULL, jdou snad ty funkce uplne rozdilnymi cestickami kde by se neco prepisovalo? Kazdopadne na to koukam jak tele na nova vrata a ocenim jakoukoliv radu.

Editoval pilec (16. 4. 2010 1:41)

marek.dusek
Člen | 99
+
0
-

Delej to ve startup() – nevim, jestli pouzivam spravnou terminologii, ale submit je handle, tj. vola se pred renderXYZ

Ondřej Mirtes
Člen | 1536
+
0
-

Anebo se vždy odkazuj pomocí $this->getUser()->getIdentity() a nemusíš to nikam přiřazovat.

Honza Kuchař
Člen | 1662
+
0
-

Mrkni se: https://doc.nette.org/…n/presenters#… . Formulář se zpracovává vlastně jako handle* metoda. Zbytek už ti je z toho obrázku jasný. ;-)

sodae
Nette Evangelist | 250
+
0
-

beforeRender je moc brzo! nemůžeš vkládat data, někde v dokumentaci jak průběh nette podívej se na nej ;-)

Jan Endel
Člen | 1016
+
0
-

Děkuju moc všem zúčastněným, už je mi to jasné. :)

Majkl578
Moderator | 1364
+
0
-

sodae napsal(a):

beforeRender je moc brzo! nemůžeš vkládat data

?????