addSubmit v closure pro addDynamic replikátor
- hejdav
- Člen | 50
čau.
Prosím o radu.
v 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!
- hejdav
- Člen | 50
<?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
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.
- hejdav
- Člen | 50
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
A co tohle? Ukaž mi celou laděnku. Někam ji nahraj v HTML
Editoval HosipLan (20. 8. 2012 12:34)