Webchemistry Form Multiplier – padá po pridaní x prvkov
- Aris
- Člen | 48
S multiplierom som sa pred časom bavil a došiel som k nasledovnému kódu.
$copies = 1;
$maxCopies = 20;
$multiplier = $form->addMultiplier('multiplier',
function (Nette\Forms\Container $container, Nette\Forms\Form $form)
{
$container->addText('krok');
}, $copies, $maxCopies);
$multiplier->addCreateButton('Pridať')
->addClass('ajax btn btn-primary pull-right m-r-15');
$multiplier->addRemoveButton('Odstrániť')
->addClass('ajax btn btn-danger pull-right m-t-5');
Latte
<div n:multiplier="multiplier" class="m-b-10 col-md-12">
<input n:name="krok" class="form-control d-inline-block" placeholder="Postup">
{btnRemove}
</div>
<span>
{btnCreate multiplier}
</span>
Problémom je, že padne po pridaní 9 kópií s errorom
Component with name 'multiplier_creator' does not exist.
Nastane v latte šablóne.
<?php
872: $_multiplier = end($this->global->formsStack)["multiplier"];
873: if (isset($_multiplier->getCreateButtons()[1])) {$_input = $_multiplier->getCreateButtons()[1];
874: echo $_input->getControl();
875: }
876: ?>
Kód webchemistry/Multiplier, tu nastáva error na riadku 466 a 532
/**
461: * @return Submitter[]
462: */
463: public function getCreateButtons() {
464: $buttons = [];
465: foreach ($this->createButtons as $button) {
466: $buttons[$button->getCopyCount()] = $this->getComponent($button->getComponentName());
467: }
468:
469: return $buttons;
470: }
...
529: public function getComponent($name, $need = true) {
530: $this->createCopies();
531:
532: return parent::getComponent($name, $need);
533: }
Je možné že neberie do úvahy max. počet kópií, alebo je vnútorne obmedzený a nevie číslovať tlačidlá ďalej? Prípadne iné nápady? Ďakujem
- Aris
- Člen | 48
Mal by som mať najnovšiu verziu z githubu. Sťahoval som to 10.11., odvtedy sa nič ako pozerám nezmenilo. V composer.json mám „webchemistry/forms-multiplier“: „^3.0“
Ďakujem za pomoc :) . Možno bola chyba v cache, premazal som ju, pohral sa s prepísaním 20 na 10, testoval som a znova sa vrátil k 20 a ide to. :)
Editoval Aris (1. 1. 2019 20:14)