render template do promenne

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
chap
Člen | 81
+
0
-

Ahoj,

potřeboval bych výsledek rendereru (html) použít k vygenerování PDF. Vytvořil jsem renderShow, který zobrazuje očekávaný výsledek. Přidáním parametru v url, bych rád stejný výsledek bez layoutu uložil do PDF nějak takto:


public function renderShow($id){

  $this->template->data = $foo;
	...

 if ($this->getParameter("hide",false)) {
            $this->setLayout(false);
            $this->sendResponse(new \PdfResponse\PdfResponse($this->template));
        }
}

Bohužel mi to hlásí:
Exception in Nette\Templating\Template::__toString(): Template file name was not specified. in

můžete mi někdo poradit, jak by jste to řešili jinak? (snad jsem to popsal srozumitelně).

japlavaren
Člen | 404
+
+2
-

tvoj problem je, ze sablona Template::setFile() sa vola az v Presenter::sendTemplate();
Okopiruj tento kod ktory vyhlada subor sablony a nastavi a malo by to byt ok.
Pre cistejsie riesenie by som to spravil takto:

<?php
public function renderShow() {
	$template = $this->createTemplate();
	// pouzivaj tuto sablonu, nie priamo sablonu presenteru
}
?>

Editoval japlavaren (30. 7. 2014 15:18)

chap
Člen | 81
+
0
-

Šlape to. Díky moc!