Společné createTemplate() pro vlastní presenter a control
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Tomáš Votruba
- Moderator | 1114
Pokud chci rozšířit metodu createTemplate() vlastního BaseControl a zároveň BasePresenter, musím to udělat na dvou místech. Nelze tento proces přesunout pouze do BaseControlu? Potřebuji dědit zároveň BaseControl (svůj) a zároveň Presenter (Nette).
- Tomáš Votruba
- Moderator | 1114
Děkuji za reakce. Takto v BaseControlu
protected function createTemplate($class = NULL)
{
$presenter = new Presenter;
$template = $presenter->createTemplate($class);
}
mi laděnka vrací chybu v BasePresenteru „Trying to get property of non-object“ (pro presenter proběhne vytvoření v pořádku)
public function createTemplate($class = NULL)
{
$template = parent::createTemplate($class);
// ...
}
Budu tedy muset upravit i původní createTemplate?
- uestla
- Backer | 799
https://github.com/…igurator.php
Spíše než pouhé createTemplate()
mě ale více trápí
společná logika, kterou mám jak v BasePresenter
, tak
BaseControl
– např. upravené chování
flashMessage()
apod…
Editoval uestla (28. 6. 2012 19:27)