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
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
__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í.