Contributte\Form-multiplier a MultiUpload
- OdpadlikCZ
- Člen | 15
Mám udělaný formulář, kde je použitý Contributte\Form-multiplier.
Vše funguje skvěle. Mán nastavený kontejner, kde mám informace o zboží.
Jméno, cena, popis, obrázky, atd. Pro obrázky jsem použil
->addMultiUpload.
Primárně se ukáže jedna položka a pak tlačítkem přidávám další po
jednom.
Pokud si, ale u zboží vyberu obrázky, tak kdykoliv dám přídat další
položku přes ten multiplier, tak mi obrázky z MultiUpload zmizí a musím je
vybrat znova. Je jedno jestli je přidám první položce nebo dynamicky
přidané položce.
Takže v praxi si musím přidat všechny položky a až nakonec jít zpět a
vybrat u jednotlivých položek obrázky. Nedej bože, kdyby obrázky byly
povinné pole.
Pak se vše odešle a v pohodě se předá funkci a há si je uložím.
Dá se to nějak řešit? Myslím tím to, že pokud jednou vyberu u položky obrázky a přidám další položku, tak se u předchozí položky(položek) vybrané soubory nesmažou.
Díky za radu.
$zbozi = $form->addMultiplier('zbozi', function (Nette\Forms\Container $container, Nette\Forms\Form $form) {
$container->addText('name', 'Název zboží')
->addRule(Form::MAX_LENGTH, 'Musí mít maximálně %d znaků', 250)
->setAttribute('class', 'form-control zboziName')
->setRequired('Prosím vyplňte název zboží')
->setOption('class', "col-12 col-md-6 pl-0")
->setOption('description', 'Napište název věci (např. čepice');
$container->addText('size', 'Velikost')
->addRule(Form::MAX_LENGTH, 'Počet mít maximálně %d znaků', 50)
->setOption('class', "col-12 col-md pl-0")
->setAttribute('class', 'form-control');
$container->addText('price', 'Cena')
//->setRequired(true)
->setRequired('Prosím vyplňte cenu zboží')
->setAttribute('type', 'number')
->setOption('class', "col-12 col-md pl-0")
->setAttribute('class', 'form-control')
->setOption('description', 'Cena za kus')
->addRule($form::NOT_EQUAL, 'Cena nesmí být 0', 0)
->isRequired();
$container->addText('amount', 'Počet')
->setRequired(true)
->setAttribute('type', 'number')
->setOption('class', "col-12 col-md pl-0")
->setDefaultValue('1')
->setAttribute('class', 'form-control');
$container->addMultiUpload('itemImg', 'Obrázky')
->setOption('class', "col-12 form-group orderItemImgs")
->setAttribute('class', 'form-control-file')
->addRule($form::MAX_LENGTH, 'Maximálně lze nahrát %d souborů', 10);
$container->addTextArea('description', 'Poznámky', NULL, 5)
->setAttribute('class', 'mceEditor')
->setRequired(false)
->setOption('class', "col-10 pl-0 mb-5")
->isRequired(false);
}, $this->multiplierCopies, $this->multiplierMaxCopies);
var $multiplierCopies = 1;
var $multiplierMaxCopies = 20;
- OdpadlikCZ
- Člen | 15
Nedalo by se to obejít pomocí Contributte/Forms-wizard a dynamické přidávání kroků? Jesti to vůbec Forms-wizard umí?
- OdpadlikCZ
- Člen | 15
Pepino napsal(a):
OdpadlikCZ napsal(a):
Nedalo by se to obejít pomocí Contributte/Forms-wizard a dynamické přidávání kroků? Jesti to vůbec Forms-wizard umí?
Ne.
Díky za odpověď.