addSubmit v closure pro addDynamic replikátor

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
hejdav
Člen | 50
+
0
-

čau.
Prosím o radu.
replikátoru chci přidat submit button, ovšem Nette se to nelíbí .
Řekl bych, že se mu nelíbí, že chci vytvořit více submitů se stejným name… Kde dělám chybu?
Díky!

Ot@s
Backer | 476
+
0
-

Obrázek není vidět. Duplicita názvů formulářových prvků je samozřejmě vyloučena (pokud nevyužiješ addContainer). Pošli kód s definicí replikátoru – pak je možné poradit něco konkrétního.

hejdav
Člen | 50
+
0
-
<?php
   public function createComponentManageUsers($formName){

        $manageForm = new Form(NULL, $formName);

        $submittedCallback = callback($this, 'manageFormSubmitted');

        $manageForm->addDynamic('manage', function (\Nette\Forms\Container $container) use ($submittedCallback){

            $submit = $container->addSubmit('delete', 'SMAZAT');

            $submit->setAttribute('onclick',  "return confirm('Jste si jisti, že chcete smazat tohoto uživatele?');");

            $submit->onClick[] = $submittedCallback;
        });

        $manageForm->addProtection('Platnost formuláře vypršela, prosím odešlete jej znovu.', 5*60);

        return $manageForm;
    }
?>

tak asi takhle.

skončilo to řádkem $container->addSubmit(‚delete‘, ‚SMAZAT‘);

Jak tedy do replikátoru přidat submity?
Nette hlásí:

Recoverable Error
Argument 1 passed to Nette\Utils\Arrays::get() must be an array, null given, called in /var/www/html/lib/Nette-2.0.3-PHP5.3/Nette/Forms/Controls/BaseControl.php on line 344

btw já ten JPG vidim… :-/

hejdav
Člen | 50
+
0
-

možná že dělám chybu jinde.. v renderu nastavuju toto:

<?php
    public function renderDefault(){

        foreach ($this->template->usersList as $user){
            $this['manageUsers']['manage'][$user->id]->setValues(array(
                'delete' => $user->login
            ));
        }
    }
?>

‚delete‘ ⇒ $user->login je tam jen prozatim.. nebo jak jinak přidat seznam userů do toho kontejneru.

jsem noobie.

Filip Procházka
Moderator | 4668
+
0
-

Není problém v tohle?

hejdav
Člen | 50
+
0
-

bohužel ne :(
checkboxy namísto submitů fungují jak mají..

hejdav
Člen | 50
+
0
-

první projde, druhej průchod vyhazuje tu stejou chybu dokonce už při addCokolivjinýho.

<?php
        $manageForm->addDynamic('manage', function (\Nette\Forms\Container $container) use ($submittedCallback){

            $container->addText('x', 'x');

            $submit = $container->addSubmit('delete', 'SMAZAT');

            //...
        });
?>

pokud zakomentuju ten submit tak to fachčí.

Filip Procházka
Moderator | 4668
+
0
-

A co tohle? Ukaž mi celou laděnku. Někam ji nahraj v HTML

Editoval HosipLan (20. 8. 2012 12:34)

hejdav
Člen | 50
+
0
-

laděnka

tamto mi vyhodilo jiný errory..