Nette 2.4 – filtry z presenteru do komponenty

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

Může mi někdo prosím poradit, jak správně dostat do komponenty filtry registrované v presenteru?

Do teď jsem v Nette 2.3 používal toto:

Registrace filtru v presenteru:

		$presenter->template->addFilter('username', function ($user_id, $displayFull = FALSE) use ($presenter) {
			return UserNameHelper::getUserName($presenter->context->userRepository, $user_id, $displayFull);
		});

Filtry z presenteru do šablony:

	public function render() {
		// abychom mohli používat všechny helpery, co máme registrované v presenteru
		$filters = $this->presenter->template->getLatte()->getFilters();
		foreach ($filters as $name => $filter) {
			$this->template->getLatte()->addFilter($name, $filter);
		}
...

Všechno fungovalo bez problému. V Nette 2.4 to nefunguje, protože getLatte()->getFilters() vrací jenom nějaké pole s názvy, ale už ne konkrétní callbacky.

Jak na to? Díky.