využití persistentního parametru v presenteru
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Taps
- Člen | 168
Zdravím, mohl by mi někdo poradit jak správně využívat persistentní parametr v presenteru.Pomocí komponenty ZapsatVysledkyUtkaniForm odesílám id domácího a hostujícího týmu, ale tyto id se mi nepřenášejí do komponenty zapsatVysledkyUtkaniFormSubmitted. Jedná se o proměnnou $ligax
class ZapasyPresenter extends \AdminbasePresenter
{
/** @persistent */
public $ligax;
..
public function createComponentZapsatVysledkyUtkaniForm() {
$form = new Form();
$ligax=$this->getParameter('liga');
$pocetkol = range(1,15);
$form->addHidden('zvolenaLiga')
->setValue($ligax);
$form->addSelect('kolo', 'Kolo',$pocetkol);
$form->addDate('datum', 'Datum',DateInput::TYPE_DATE)
->addRule(Form::FILLED, 'Datum musí být vyplněn');
$form->addDynamic('tymy', function (Container $tymy) use ($ligax) {
** $DomaciTym=\TymyModel::VypisTymyRoletka($ligax); **
$tymy->addSelect('domaci', 'Domácí Tým', $DomaciTym);
$tymy->addSelect('hoste', 'Hostující Tým', $DomaciTym);
$tymy->addText('gdomaci', 'Góly Domácí');
$tymy->addText('ghoste', 'Góly Hoste');
}, 5);
$form->addSubmit('create', 'Uložit');
$form->onSuccess[] = callback($this, 'zapsatVysledkyUtkaniFormSubmitted');
return $form;
}
public function zapsatVysledkyUtkaniFormSubmitted(Form $form) {
$kolo=$form->values->kolo;
$liga=$form->values->zvolenaLiga;
foreach ($form['tymy']->values as $data) { // hodnoty formulářového prvku
if(!empty($data['gdomaci'])){
$VysledkyUtkani=array(
'kolo'=> $kolo,
'id_domt'=>$data['domaci'],
'id_hostt'=>$data['hoste'],
'goly_domaci'=>$data['gdomaci'],
'goly_hoste'=>$data['ghoste'],
'sezona'=>9,
'id_ligy'=>1,
'datum'=>$form->values->datum
);
\ZapasyModel::ZapisVysledkuUtkani($VysledkyUtkani);
}
}
$this->flashMessage('Zápasy byly uloženy');
$params = array('liga' => 1);
$this->redirect(':Admin:Zapasy:zapsatVysledky', $params);
}
}
Editoval Taps (20. 7. 2012 22:47)
- Filip Procházka
- Moderator | 4668
Ježišmarja!
do persistentního parametru ($ligax) dostat hodnotu parametru liga z URL adresy
Nepotřebuješ! Prostě udělej
class ZapasyPresenter extends \AdminbasePresenter
{
/** @persistent */
public $liga;
@jtousek: si v pohodě jinak? Proč ho v tom podporuješ?
Editoval HosipLan (21. 7. 2012 11:56)