poslední průchod u multiplieru

Webster.K
Člen | 192
+
0
-

Zdravím všechny, ve formulářích používám multiplier ale nedokážu přijít na to, jak u posledního prvku vykreslit jinou třídu, má myšlenka se ubírá tímto směrem:

<div n:multiplier="multiplier" n:class="'row', $formContainer->isLast ? 'posledni'">
       <div n:class="'col-lg-6', $formContainer['opakujici_se_cast']->hasErrors() ? 'has-error'">
             <input n:name="opakujici_se_cast" class="form-control" placeholder="popis">
       </div>
</div>

Potřeboval bych u poslední položky v multiplieru vypsat další hodnotu v class, ale bohužel nemohu nic najít

David Grudl
Nette Core | 8147
+
0
-

Jako myslíš $formContainer->isLast ? 'foo bar'?

Webster.K
Člen | 192
+
0
-

David Grudl napsal(a):

Jako myslíš $formContainer->isLast ? 'foo bar'?

Ano, přesně. Něco co v tomhle mi řekne, že je to poslední průchod v tom multiplieru a vypise to novou tridu

David Grudl
Nette Core | 8147
+
0
-

Netuším, co to je n:multiplier, asi používáš nějaké rozšíření, které neznám. Ale obecně pokud iteruješ nad prvky, tak můžeš v n:class použít $iterator->last ? 'foo'

Webster.K
Člen | 192
+
0
-

Někde jsem to (už netuším přesně kde) našel a používám to jako:

$multiplier = $form->addMultiplier('multiplier', function (Nette\Forms\Container $container, Nette\Forms\Form $form) {
            $container->addText('popis', 'Popis')
                    ->setMaxLength(100);
        }, $copies, $maxCopies);

A právě $iterator hlásí, že nic takovýho neexistuje, to jsem hledal

Kód se mi povedlo dohledat zde:
https://github.com/…master/.docs

Editoval Webster.K (13. 8. 2023 2:00)