Formulář v komponentě – předání proměnné z komponenty do šablony komponenty

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

Zdravím,
mám takový problém. Mám komponentu na formulář a z ní potřebuji předat vytvořené pole v komponentě do šablony:

 	/**
     * @var array
     */
    private $group_option = array();

    public function render() {
        $this->template->setFile(__DIR__ . '/itemForm.latte');
        $this->template->group_option = $this->group_option;
        $this->template->render();
    }

 public function createComponentItemForm() {

        $form = new Form;

		// zde vytvářím formulář a také plním $this->group_option;

		return $form;
}

Problém je, že v šabloně je $group_option prázdné. Nevíte prosím jak na to?

Editoval Croc (1. 12. 2017 10:34)

Mortisson
Člen | 21
+
0
-

Je to ve špatné posloupnosti. Komponenty se v Nette renderuji líně. To znamená, že se ti nejdříve spustí metoda render a když dojde na řádek kde voláš {control itemForm}, ta se teprve spustí vytváření formuláře

Kori
Člen | 73
+
0
-

V metode render() zavolej pred plnenim template promennych

$this->getComponent('itemForm');
Croc
Člen | 270
+
0
-

@Kori Super, moc děkuju, funguje :)