Render šablony do proměnné

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

Hoj,
rád bych použil šablony z Nette a potřeboval bych vědět, jak „vyrendrovat“ šablonu do proměnné.
Normálně se při volání <?php $template->render(); ?> šablona hned vykreslí..

protected function view($file, $data=null) {
        $this->temp = new NTemplate();
        $this->temp->registerFilter(new NLatteFilter);
        $this->temp->registerHelper('escape', 'NTemplateHelpers::escapeHtml');
        $this->temp->registerHelper('escapeJs', 'NTemplateHelpers::escapeJs');
        $this->temp->registerHelper('escapeCss', 'NTemplateHelpers::escapeCss');
        $this->temp->setFile($file);
        // proměnné do šablony
        if (isset($data)) {
            $this->data($data);
        }
        // render šablony do proměnné
        $this->request->response = $this->temp->render();
}
Vojtěch Dobeš
Gold Partner | 1316
+
+1
-

Mělo by fungovat (string) $this->temp;.

OK3
Člen | 91
+
0
-

Díky, vyzkouším!

Mezitím jsem ještě našel $template->__toString();

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

__toString je magická metoda PHP, která se interně zavolá při snaze o přetypování daného objektu na řetězec. Takže (string) $template je s $template->__toString() ekvivalentní.