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