[Template] – Automatické renderování šablon
- kesav
- Člen | 5
Zdravím,
chtěl bych se zeptat, jestli jde nějak v nastavení vypnout automatické volání $template->render() v presenteru. Potřebuji udělat render manuálně v závislosti na předchozí akci, která mi vrátí dynamicky jinou šablonu a jiná data. Vím, že to jde udělat přes $this->template->setFile(), ale zase kvůli debugu a dalším věcem kvůli kterým mi defaultní auto render vadí.
Předem díky za odpověď a prosím o schovívavost. s nette začínám, zatím jsem dělal pořád v zendu a tam to šlo jednoduše. :-)
- Panda
- Člen | 569
public function renderSomething()
{
//...
$this->terminate(new RenderResponse($myTemplate));
}
Pozor, po volání terminate()
dojde k vyhození výjimky a
kód za ním se nevykoná! Pokud to uvedeš na konci metody render, tak
přijdeš o volání afterRender()
a ukládání globálního
stavu komponent. Pokud by to bylo nežádoucí, tak můžeš překrýt metodu
sendTemplate()
a potřebnou logiku implementovat tam.
Editoval Panda (21. 8. 2010 10:22)