Automatické generování html z šablony
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- Richard Faila
- Člen | 40
Zdravím
Na jednom projektu bych potřeboval, aby se pokaždé, když dojde vykreslení nějaké šablony se zároveň vygenerovala i HTML stránka s výstupem a ta se někam uložila.
Zkoušel jsem to přes shutdown a
$this->template->save() ale vždy jsem narazil na problémy
s dědičností šablon, nebo byli prázdné proměnné, nebo se ukázala
jiná chyba.
Má někdo nápad na nějaké pěkné systémové řešení?
Díky
Nette 2.1.2 PHP 5.3.6

- David Matějka
- Moderator | 6445
do presenteru zkus: (z hlavy)
public function sendResponse(\Nette\Application\IResponse $response)
{
if($response instanceof \Nette\Application\Responses\TextResponse && $response->getSource() instanceof \Nette\Templaping\ITemplate) {
ob_start();
$response->source->render();
$content = ob_get_clean();
//uloz....
$response = new \Nette\Application\Responses\TextResponse($content);
}
parent::sendResponse($response);
}

- Richard Faila
- Člen | 40
matej21 napsal(a):
do presenteru zkus: (z hlavy)
public function sendResponse(\Nette\Application\IResponse $response) { if($response instanceof \Nette\Application\Responses\TextResponse && $response->getSource() instanceof \Nette\Templaping\ITemplate) { ob_start(); $response->source->render(); $content = ob_get_clean(); //uloz.... $response = new \Nette\Application\Responses\TextResponse($content); } parent::sendResponse($response); }
Díky moc, funguje skvěle! Tento způsob mě vůbec nenapadl…