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
+
0
-

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
+
0
-

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
+
0
-

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…