Překlad templatů továrniček (VP)
- maarlin
- Člen | 207
Ano, to je přesně ono, taky mě to napadlo, jsem rád, že jsi mě v tomto
řešení utvrdil, ale kde v tomto BaseControlu, který předpokládám dědí
od (N)Control
vezmu aktuální hodnotu jazyka z URL, kterou jinak
v BasePresenteru
získávám přes
$this->getParam('lang');
?
V tu chvíli se totiž evidentně ještě neřeší routy, ani nic
takového, čili ani přes NEnvironment::getHttpRequest();
se
k tomu nedostanu… :(
Editoval maarlin (17. 2. 2010 13:57)
- maarlin
- Člen | 207
Už jsem na to přišel… chvíli jsem procházel dokumentaci k továrničkám/komponentám a dozveděl se, že je vždy po připojení komponenty volána metoda attached. Čili řešení je následující:
class BaseControl extends NControl {
public function attached($instance)
{
parent::attached($instance);
$this->lang = $instance->getParam('lang');
}
Editoval maarlin (17. 2. 2010 14:57)
- Ondřej Mirtes
- Člen | 1536
Jazyk bych si ukládal do globálně přístupné proměnné
Environment::setVariable('lang', 'cs') `(
Environment::getVariable(‚lang‘)`)
co nejdřív v životním cyklu Presenteru, nejlíp v startup().