Proměnná pro všechny šablony v presenteru
- Prochy
- Člen | 91
Zdravim,
chtěl sem se zeptat, jak udělat, aby byla nějaká proměnná v presenteru
vložena do všech latte šablon? Prostě budu mít proměnnou např $test a
chci aby fungovala v default.latte, test.latte apod.? Momentálně to řešim,
že do každého renderu házim tu proměnnou, což je určitě chyba, ale zatim
nevim, jak to hodin globálně do všech šablon. Děkuji za odpověď
- vtitl
- Člen | 29
Měl bych k tomu další dotaz, hodil jsem do BasePresenteru
public function beforeRender()
{
$this->template->infoProvoz = '1 sonda v provozu';
}
Myslel jsem, že potom budu moci přistupovat k této proměnné ve všech šablonách (protože všechny presenetery tohle dědí), ale hlásí mi to Undefined variable: infoProvoz.
V čem je problém?
Díky!
- stefi023
- Člen | 71
A neprepisujes nahodou nekde dal tu metodu beforeRender() aniz bys zavolal beforeRender() na predkovi?
public function beforeRender()
{
parent::beforeRender();
//code
}
Alias – nemas nahodou ve tvem prsenteru (v tom co dedi od BasePresenteru)
metodu beforeRender(), aniz bys v ni zavolal
parent::beforeRender()
?
//EDIT pozde, @pilec byl rychlejsi a dokonce to ma v podpisu :)
Editoval stefi023 (4. 7. 2012 14:12)
- h4kuna
- Backer | 740
Radši vidím definici nějakých proměnných pro šablonu v
protected function createTemplate($class = NULL) {
$tpl = parent::createTemplate($class);
$tpl->infoProvoz = '1 sonda v provozu';
return $tpl;
}
protože nezapomeneš napsat parent::createTemplate($class); protože v ten moment ti přestanou jít šablony, ale viz situace s beforeRender si ani nevšimneš proč ti věci nemakaj jak maj.