Form select problem s odoslaním

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

Nazdár, mám problém so spracovaním selectu vo forme

$select = $this->newsManager->category();
$form->addSelect('Category')
            ->setItems($select);
public function category(){
    $row = $this->database->table(self::CATEGORY_TABLE)->select('id, category')->order('id')->fetchPairs('id', 'category');
    return ($row) ? $row : NULL;
}

Hodnoty sa vypíšu no však pri odoslaní formulára sa nič nestane. Teda ani sotatné prvky toho formulára sa neodošlu ako keby tam bol nejaky problém. Mohli by ste sa na to pozrieť prípadne mi poradiť ako vypíať chybu toho formulára ?

GEpic
Člen | 566
+
0
-

Ukaž zbytek formuláře :)

PS:
Toto:

$row = $this->database->table(self::CATEGORY_TABLE)->select('id, category')->order('id')->fetchPairs('id', 'category');

Můžeš zjednodušit rovnou na:

$row = $this->database->table(self::CATEGORY_TABLE)->fetchPairs('id', 'category');

Editoval GEpic (22. 5. 2016 2:15)

Reziw
Člen | 22
+
0
-
protected function createComponentCreateNewsForm()
{
    $select = $this->newsManager->category();


    $form = new Form();
    $form->addText('Title');
    $form->addUpload('Image');
    $form->addText('Source');
    $form->addTextArea('Content');

    $form->addSelect('Category')
         ->setItems($select);

    $form->addSubmit('Submit', 'Publikovať Novinku');
    $form->onSuccess[] = [$this, 'CreateNewsFormSucceeded'];

    return $form;
}
public function createNewsFormSucceeded(Form $form, $values)
    {
        $values['date'] = date('j.n.Y H:i:s');
        $this->newsManager->createNews($values);
        $this->flashMessage('Novinka bola úspešne pridaná.', self::GREEN);
        $this->redirect('News:default');
    }

Prípadne ako mám vytvoriť v template ten istí form na viacerích častiach stránky ?

GEpic
Člen | 566
+
0
-

V rámci jedné stránky nemůžeš použít ten samý formulář vícekrát. A většinou je problém taky to, že když člověk vykresluje formulář ručně, navíc v tvém případě jméno komponenty (protected function createComponentCreateNewsForm() ← proč 2× create?). Můžeš zaslat ještě lattečko, popř jestli ho vykresluješ ručně {form CreateNewsForm}{/form}, nebo přes {control}?

PS: Tento formulář vypadá OK až na jméno komponenty, ale ani to by neměl být problém, jen to bije do očí. :)

Editoval GEpic (22. 5. 2016 14:11)

Reziw
Člen | 22
+
0
-

Je to v poriadku problém bol v tom že som sa snažil vyvolať jeden form na viacerích častiach stránky

GEpic
Člen | 566
+
0
-

To by ti mělo ale hodit chybu, pokud se snažíš 2× vykreslit stejný formulář