Vytvorenie viac formulárov v cykle
- Takeshi
- Člen | 596
Ahojte,
v databaze mam tabulku so 4 stlpcami a cca 20 riadkami. Neviem ci sa to ma riesit tak, ale chcem vytvorit pre kazdy riadok samostatny formular, aby som ho mohol potom zvlast editovat podla id riadka.
Tento sposob je asi blbost, tak sa vas pytam co robit … dik za odpovede
<?php
$wordsH = $this->database->table('words_home');
foreach($wordsH as $wH){
$form = new Form;
$form->addName .....
$form->addSubmit('send', 'Poslať');
$form->onSuccess[] = array($this, 'formSucceeded');
return $form;
}
?>
- Takeshi
- Člen | 596
David Matějka napsal(a):
pouzij multiplier https://doc.nette.org/…n/multiplier
Inak sa vsetko postupuje tak ako pri tovarnickach – inject v presenteroch + to ostatne?
- David Matějka
- Moderator | 6445
Ano, vsechno ostatni je stejne – jen tu komponentu obalis do multiplieru a ona se vytvori pro kazdy radek znovu s jinym parametrem (id)
- Takeshi
- Člen | 596
Este som zabudol na jednu vec … ako dostanem do formulara id riadka databazy?
<?php
public function create()
{
return new Multiplier(function () {
$form = new Nette\Application\UI\Form;
$form->addText('sk', 'sk :')
->addRule($form::FILLED);
$form->addSubmit('send', 'Přidat do košíku');
$form->onSuccess[] = array($this, 'formSucceeded');
return $form;
});
}
?>
<?php
{foreach $wordsH as $item}
<div><b>id:</b>{$item->id}</div>
<div><b>name :</b>{$item->name}</div>
{control wordshForm-$item->id}
{/foreach}
?>
… toto mi to vypise len do sablony
- CZechBoY
- Člen | 3608
Vyžádáš v parametru funkce multiplieru. Proč si nečetl ten návod, co poslal @DavidMatějka? Však dole je to ukázaný.
public function create()
{
return new Multiplier(function ($id) {
$form = new Nette\Application\UI\Form;
$form->addText('sk', 'sk :')
->addRule($form::FILLED);
$form->addHidden('id', $id);
$form->addSubmit('send', 'Přidat do košíku');
$form->onSuccess[] = array($this, 'formSucceeded');
return $form;
});
}
Šablonu máš dobře, akorát to pls příště obal na foru
do /--latte {foreach ...} \--
- Takeshi
- Člen | 596
CZechBoY napsal(a):
Vyžádáš v parametru funkce multiplieru. Proč si nečetl ten návod, co poslal @DavidMatějka? Však dole je to ukázaný.
Prepac :-) … cital som to, ale nepochopil som ako to pracuje … som si myslel ze to je id formulara … ale nie ze to id formulara je zaroven id riadka z databazy … mea culpa :-)
Editoval Takeshi (5. 3. 2016 2:17)