Form select problem s odoslaním
- Reziw
- Člen | 22
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
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
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
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)