Nefunkční překlad formuláře renderovaného ručně

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
thunderbuff
Člen | 164
+
0
-

Mám velmi zajímavý problém. Ručně vykreslovaný formulář({form MujForm}…{/form}) se mi nepřeloží. Ale pokud ho renderuji automaticky ({control mujForm}), přeloží se správně. Pokud ho dám a stránku přes {control mujForm} a společně s tím i přes {form MujForm}, přeloží se oba. Máte tip, čím to může být?

Editoval thunderbuff (10. 4. 2013 13:38)

duke
Člen | 650
+
0
-

A kde/kdy nastavuješ formuláři objekt translátoru?

thunderbuff
Člen | 164
+
0
-

v BaseFormu (který extenduje UI\Form) mám:

<?php

	public function render() {
		$this->setTranslator($this->translator);
		parent::render();
	}


?>
duke
Člen | 650
+
0
-

To se pak nemůžete divit. Metoda render se při ručním renderování formuláře vůbec nevolá…
Translator nastavujte buď hned po vytvoření Formu, nebo např. při jeho připojení k presenteru.

A ta konstrukce:

$this->setTranslator($this->translator);

… mi také není moc jasná. Vždyť metoda setTranslator má za úkol nastavit právě $this->translator. Tak jaký smysl má nastavovat ho na hodnotu, na kterou již nastaven je? Předpokládám, že jde o nějaký překlep…

Editoval duke (10. 4. 2013 16:10)

thunderbuff
Člen | 164
+
0
-

Díky za nakopnutí správným směrem, měl jsem torchu magie v konstruktoru, stačilo upravit jeden řádek. Díky!