překlad proměných v nette 2 ve widgetu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- onny
- Člen | 67
Dobrý večer,
používám v Nette 2 klasickou šablonu pro odeslání emailu, je to ve
widgetu (controlu) při akci.
$template = new FileTemplate;
$template->registerFilter(new LatteFilter);
$template->registerFilter('Nette\Templates\CurlyBracketsFilter::invoke');
$template->setFile('app/templates/Emaily/uvodni.phtml');
template se přiřadí i vtsikne do emailu, jen se nepřeloží žádné proměné ({$moje}) ani {link . . . Počítám, že budou nějak špatně registrované filtry, nedokázal jsem najít, jak jinak by to mělo být, chybu to nevyhazuje žádnou.
Děkuji
- sodae
- Nette Evangelist | 250
LatteFilter je pouze filter, tedy přeloží makra do php kodu.
Co se týče link, zde je potřeba registrovat Presenter a používat plink.
K proměnným, pokud chceš je použít proměnou taky ji musíš nastavit pro tu šablonu.
a nevím co tam dělá:
$template->registerFilter('Nette\Templates\CurlyBracketsFilter::invoke');
takže tvůj kod by měl vypadat asi takto:
$template = new FileTemplate('.....phtml/.latte');
$template->registerFilter(new LatteFilter);
$template->presenter = $presenter;
$template->promena = 'abc';
- Filip Procházka
- Moderator | 4668
V controlu? zkus tohle:
$template = clone $this->createTemplate(); // $this instanceof Nette\Application\Control
$template->setFile('app/templates/Emaily/uvodni.phtml');
$mail->setHtmlBody($template);