Defaltni hodnoty pro formular z komponenty

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

Cau,
jak muzu narvat do formulare defaultni hodnoty, pokud ho mam jako komponentu?

V Presenteru mam pak tohle:

	protected function createComponentUserEditForm()
{
    return $this->userEditForm->createUserEditForm();
}

	public function renderEdit($userId)
{
    try {
        $user = $this->userFacade->getUser($userId);
        $this->userEditForm->setDefaults($this->userService->toArray($user));
    } catch (Exception\User $e) {
        $this->flashMessage($e->getMessage(), 'danger');
        $this->redirect('default');
    }
}

A nefunguje me to. Co delam spatne a kde v tomto pripade rvat hodnoty do formulare? Kdyz udelam dump na $this->userService->toArray($user) tak je v poradku. Dik

F.Vesely
Člen | 369
+
0
-

Hod to do funkce actionEdit($userId) v Presenteru.

David Matějka
Moderator | 6445
+
+1
-

ke komponente se dostanes pres $this->getComponent('userEditForm') respektive zkratkou $this['userEditForm']

radik
Člen | 21
+
0
-

Dik,
tak pomohlo jak psal David tohle:

$this->getComponent('userEditForm')->setDefaults($this->userService->toArray($user));

v actionEdit to nefunguje.

Myiyk
Člen | 321
+
0
-

Mělo by to fungovat v renderEdit i actionEdit

Podívej se, jaká data ti vrací $this->userService->toArray($user),
jestli to odpovídá pojmenování prvků ve formuláři.