Kde přesně zaregistrovat Helper?
- joseff
- Člen | 233
Tak jsem si to zaregistroval a dloho mi to stačilo přesně jak napsal Tharos, ale ted jsem narazil na to že si potřebuji v aplikaci vytvořit nový template a to je problém, protože všechny helpery si definuji až v BasePresenteru, takže bych potřeboval zaregistrovat heler přímo do objektu templateFile pokud možno někde v bootstapu nebo někde hned na začátku. Tak aby když zavolám new TemplateFile tak aby tam už byli registrované. Ví někdo jak na to?
- Tharos
- Člen | 1030
No a proč jednoduše nevytvářet nový template konstrukcí:
$template = $this->createTemplate()
kdekoliv v Presenteru.
Pokud bys potřeboval takto vytvořit šablonu v nějaké komponentě, vytvoř
si nějakého předka BaseControl a překryj metodu
createTemplate()
i v něm. Od této třídy poté můžeš
odvozovat všechny komponenty. Budeš mít pak definici vlastního helperu na
dvou místech, což ještě není až tak hrozné. Anebo si tu definici
vlastních helperů můžeš přesunout do nějaké samostatné třídy, to je
návrhově nejhezčí.
Pokud zavoláš $template = new FileTemplate(...)
,
nezaregistrují se ti do té šablony ani standardní helpery.
Editoval Tharos (4. 1. 2011 10:41)