Tutoriál – Cannot read an undeclared property
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- aciro
 - Člen | 1
 
Zdravím,
mám novou verzi Nette (2.0) a pracuji na localhostu. Snažím se vytvořit si první aplikaci a narazil jsem na problém – pokud je to stupidní dotaz, tak se omlouvám, ale učím se.
Výpis z laděnky:
Cannot read an undeclared property HomepagePresenter::$model.
 3:    /**
 4:     * Base class for all application presenters.
 5:     *
 6:     * @author     John Doe
 7:     * @package    MyApplication
 8:     */
 9:    class BasePresenter extends Nette\Application\UI\Presenter
10:    {
11:      public function beforeRender()
12:      {
13:        $this->template->taskLists = $this->model->getTaskLists()->order('title ASC');
14:      }
15:    }
Chyba by měla být v řádku 13. Snažil jsem se najít chybu, ale už nevím jak dále. Ví někdo, čím to je? Děkuji moc za případné rady.
Editoval aciro (6. 3. 2012 15:19)

- Etch
 - Člen | 403
 
No tak ta chyba je celkem dost výmluvná. Přistupuješ k nedefinované proměnné „model“.
class BasePresenter extends Nette\Application\UI\Presenter{
	private $model;
	public function startup(){
		parent::startup()
		$this->model = new \JmenoModelu();
	}
	public function beforeRender(){
		$this->template->taskLists = $this->model->getTaskLists()->order('title ASC');
	}
}
Popřípadě pokud máš model nastaven v configu, tak si ho vytáhnout z contextu.
EDIT: Sakra koukám, že mi to psaní trvá nějak dlouho. Vždy než tu odpověď sesmolím tak mě někdo předběhne. :D
Editoval Etch (6. 3. 2012 15:48)