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.