Nefunguje mi helper v šabloně e-mailu
- Martin Mates
- Člen | 179
Sestavuju html e-mail a vypadá to nějak takto:
<?php
$template = new Template;
$template->setFile(APP_DIR.'/templates/Mails/kalkulace.phtml');
$template->registerFilter(new LatteFilter);
$template->form = $data;
?>
V šabloně je pak {$form['stala_platba']|number:2:',':' '}
a
hodí to chybu Call to undefined method Template::number().
Netuší někdo proč? V šablonách presenteru to normálně funguje. Musím registrovat ještě helpery?
- Patrik Votoček
- Člen | 2221
Ano… pokud to co jsi zde popsal máš v komponentě nebo v presenteru… doporučuju ti použít spíš:
$template = $this->createTemplate();
$template->setFile(APP_DIR.'/templates/Mails/kalkulace.phtml');
$template->form = $data;
PS: a nezapoměň v používat Absolutní odkazy…
- iguana007
- Člen | 970
Já to teď zkusil a nefunguje mi to … mám form v komponentě a laděnka mi hlásí:
Call to undefined method ContactForm::createTemplate().
Zkoušel jsem i jiné zápisy (jak jsem se dočetl ve FAQ) jako
parent::createTemplate();
$this->presenter->createTemplate();
ale nic nezabírá.
Mám latest dev verzi Nette 1.0 pro PHP 5.2 (včera staženou).
- Martin Mates
- Člen | 179
Já to mám takto, hotovo všichni spokojeni:
<?php
$template = new Template;
$template->setFile(APP_DIR.'/templates/Mails/kalkulace.phtml');
$template->registerFilter(new LatteFilter);
$template->registerHelper('number', 'number_format');
$template->form = $data;
?>
Z jakého důvodu je lepší použít raději
$this->createTemplate()
? Možná by bylo lepší
$this->getPresenter()->createTemplate()
. Nezkousel jsem.