Předání parametrů pro helper – registrace
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- MartinitCZ
- Člen | 580
Udělal jsem si vlastní helper, který potřebuje jednu servisu a funci na tvorbu linků.
Můj problém spočívá v tom, jak přidat funkci pro tvorbu odkazů
($presenter->link(..))?
Celý presenter se mi do heleru cpát nechce.
protected function createTemplate($class = NULL)
{
$template = parent::createTemplate($class);
$template->registerHelper("BBCode", callback(new BBCodeHelper($this->context->userService), "helper"));
return $template;
}
- Nox
- Člen | 378
Můžeš předat helperu callback, který zavolá $presenter->link(…)
<?php
$presenter = $this;
$bbCodeHelper->setLinkMaker(function($destination) use($presenter) {
return $presenter->link($destination);
});
?>
no a pak použiješ třeba
<?php
// v helperu
$link = $this->linkMaker('Homepage:default');
?>
Editoval Nox (11. 11. 2012 13:24)