Začal jsem používat contributte/forms-multiplier jak dosadit defaultní hodnotu z Action

jAkErCZ
Člen | 321
+
-2
-

Zdravím,
Začal jsem používat knihovnu contributte/forms-multiplier ale mám takový problém snažím se přijít na to jak mohu z Action metody dosadit do multiplieru defaultní hodnotu?

Action metoda

public function actionEditor($event_id, $terms_id, $act) {
           if ($act == 'termsEdit'){
               $this['eventTermForm']->setDefaults([
                   'terms_id' => $terms->terms_id,
                   'event_id' => $terms->event_id,
                   //'date' => $terms->date,
                   'price' => $terms->price,
                   'capacity' => $terms->capacity
               ]);
           }
           $this->template->activity = $this->eventRepository->getEvent($terms->event_id);
  }

protected function createComponentEventTermForm() {
       $copies = 1;
       $maxCopies = 7;
       $form = new Form();
       $form->addHidden('terms_id');
       $form->addSelect('event_id', '', $this->termsRepository->getSelectEvent())
           ->setPrompt('Vyberte Lekci')
           ->setRequired('Lekce je povinná!');
       $multiplier = $form->addMultiplier('multiplier', function (\Nette\Forms\Container $container, \Nette\Forms\Form $form) {
           $container->addText('date')
               ->setRequired('Datum je povinné!');
       }, $copies, $maxCopies);
       $multiplier->addCreateButton('Přidat další datum')
           ->addClass('btn btn-primary');
       $multiplier->addRemoveButton('Odstranit datum')
           ->addClass('btn btn-danger');
       $form->addText('price')
           ->setRequired('Cena je povinná!');
       $form->addText('capacity')
           ->setRequired('Kapacita je povinná!');
       $form->addCheckbox('all');
       $form->addSubmit('send');
       $form->onSuccess[] = [$this, 'eventTermFormSucceeded'];

       return $form;
   }

Díky všem za případné rady :)

dakur
Člen | 493
+
0
-

@jAkErCZ No, prostě nad tím text elementem date zavoláš ->setDefaultValue(), jak v normálním formuláři, ne? 🙂

jAkErCZ
Člen | 321
+
0
-

dakur napsal(a):

@jAkErCZ No, prostě nad tím text elementem date zavoláš ->setDefaultValue(), jak v normálním formuláři, ne? 🙂

Tohle právě nefunguje..

Šaman
Člen | 2634
+
+1
-

Když znáš předem defaultni hodnoty, tak přece nepotřebuješ Multiplier, ne? Vytvoříš si formulář s tolika poli, kolik potřebuješ a ty pak naplníš standardním postupem. Multiplier je potřeba až když si uživatel může přidávat pole dynamicky.

jAkErCZ
Člen | 321
+
0
-

Šaman napsal(a):

Když znáš předem defaultni hodnoty, tak přece nepotřebuješ Multiplier, ne? Vytvoříš si formulář s tolika poli, kolik potřebuješ a ty pak naplníš standardním postupem. Multiplier je potřeba až když si uživatel může přidávat pole dynamicky.

Jsem idiot :D :D to mě vůbec nenapadlo :D Díky