Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Juraj Mlich
Tvůrce
Avatar
Juraj Mlich:27.11.2013 18:10

Zdravím, mám Presenter v ktorom mám metodu: (používam Nette)

public function renderEdit($id)
    {
        $this->template->recipe = $this->context->recipesReposity->getRecipe($id);
    }

Potom tam mám ešte metodu na vytvorenie komponenty:

public function createComponentEditRecipe()
    {
        $form = new Form;
        $form->addHidden('recipe_id');
        $form->addText('name', 'Název receptu:')
             ->setDefaultValue($this->template->recipe->name)
             ->setRequired('Musí být vyplneno!');
        $form->addTextArea('recipe', 'Recept: ')
             ->setDefaultValue($this->template->recipe->recipe)
             ->setRequired();
        $form->addUpload('preview_image', 'Obrázok: ')
             ->addRule(Form::MAX_FILE_SIZE, 'Maximálna veľkosť obrázku je 5 MB!', 1024*1024*5)
             ->addRule(Form::IMAGE, 'Súbor musí být obrázek!');
        $form->addSubmit('edit_recipe', 'Uložiť');
        $form->onSuccess[] = $this->saveRecipe;

        return $form;
    }

Keď stránku spustím tak je všetko v poriadku, chyba je až keď formulár odošlem - metóda komponenty sa spustí skôr ako metoda renderEdit a preto nemôže doplniť defaultné hodnoty. Mám pár návrhov ako to spraviť, ale podľa mňa sú zlé (nevalidné), tak by sa to podľa mňa robiť nemalo. A preto sa obraciam na vás - ako by ste túto situáciu riešili vy? Ďakujem za odpoveď :)

Editováno 27.11.2013 18:11
 
Odpovědět
27.11.2013 18:10
Avatar
Odpovídá na Juraj Mlich
Neaktivní uživatel:27.11.2013 18:13

Nevím, jak to Nette má, ale co komponentu vykreslit až potom, co se spustí metoda?

Nahoru Odpovědět
27.11.2013 18:13
Neaktivní uživatelský účet
Avatar
Juraj Mlich
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Juraj Mlich:27.11.2013 18:18

Veď to je práve ten problém, ono to funguje dobre, ale až keď niečo odošlem vtedy sa tá metoda zavolá skôr. Neviem to ovplyvniť :(

 
Nahoru Odpovědět
27.11.2013 18:18
Avatar
Odpovídá na Juraj Mlich
Neaktivní uživatel:27.11.2013 18:24

Tak nevím, zkus se zeptat na Nette fóru.

Nahoru Odpovědět
27.11.2013 18:24
Neaktivní uživatelský účet
Avatar
Juraj Mlich
Tvůrce
Avatar
 
Nahoru Odpovědět
27.11.2013 18:32
Avatar
Juraj Mlich
Tvůrce
Avatar
Juraj Mlich:27.11.2013 19:27

Pokiaľ by niekto hľadal odpoveď ako som to vyriešil : http://forum.nette.org/…ltna-hodnota

 
Nahoru Odpovědět
27.11.2013 19:27
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.