Nette 2.2.2: Registrace vlastního parseru šablon
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- petrloukota
 - Člen | 1
 
Ahoj,
potřebuji registrovat vlastní parser, kterým se zpracuje obsah každé
šablony před tím, než bude zpracován pomocí Latte. Dosud jsem to dělal
přepsáním metody templatePrepareFilters() a následně pomocí
$template->registerFilter(), což v Nette 2.2.1 nefunguje.
Nyní mám následující řešení:
<?php
// v BasePresenteru
protected function createTemplate()
{
	$template = parent::createTemplate();
	$template->getLatte()->setLoader(new \Xml\XmlLoader($this));
	return $template;
}
// vlastní loader
namespace Xml;
class XmlLoader extends \Nette\Bridges\ApplicationLatte\Loader
{
	public function getContent($file)
	{
		$content = parent::getContent($file);
		\Xml\Engine::invoke($content);
		return $content;
    }
}
?>
Při debugování se metoda createTemplate() provede, ale metoda
getContent() ne. Co dělám špatně? Co mi uniká? :)
Předem díky za pomoc.
PS: Už se to řešilo zde. Odtud mám uvedené řešení.