Itranslator nefuguje v latte šabloně, jinde ano
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- jazby
- Člen | 44
Ahoj, potřeboval bych poradit s registrací ITranslatoru do projektu.
Napsal jsem si Object na translate, zaregistroval jej do projektu a výsledkem
je, že kdekoliv funguje, ale v latte šabloně vždy skončím chybovým
hlášením Call to undefined method FileTemplate::translate()
config.neon
services:
ITranslator:
factory: Translator::initialize
BasePresenter.php
protected function createTemplate( $class = NULL )
{
$template = parent::createTemplate();
$template->setTranslator( $this->getContext()->getService( 'ITranslator' ) );
return $template;
}
DefaultPresenter
//formular normalne prelozi
$form->setTranslator( $this->presenter->getContext()->getService('ITranslator') );
//tato funkce se také vykoná
dump($this->template->translate("TEST"));
default.latte
/* toto ovšem skončí laděnkou */
<span>{_'TEST'}</span>
/**
laděnka:
MemberAccessException
Call to undefined method FileTemplate::translate()
<span><?php echo TemplateHelpers::escapeHtml($template->translate('TEST'), ENT_NOQUOTES) ?> </span>
*/
Zkoušel jsem jak funkci setTranslator, tak fci registerHelper (dle jineho
vlakna) a ani jedna z možností nefuguje. Kde dělám chybu? Běžím na
verzi: f38d86f released on 2011–08–24 (2.0-beta)
Díky