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
+
0
-

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)

jtousek
Člen | 951
+
0
-

$this->ligax;

Taps
Člen | 168
+
0
-

Mohl bys mi prosím začlenit

$this->ligax;

přímo do skriptu. Jde mi o ten ohvězdičkovaný řádek. Id týmu se mi nedaří dostat do zapsatVysledkyUtkaniFormSubmitted

Editoval Taps (20. 7. 2012 22:52)

jtousek
Člen | 951
+
0
-

Máš tam perzistentní parametr $ligax, ale používáš lokální proměnnou $ligax. Ten perzistentní parametr nepoužíváš vůbec nikde. Jestli to dobře chápu tak stačí $ligax=$this->getParameter('liga');$ligax=$this->ligax;.

Taps
Člen | 168
+
0
-

Já potřebuji do persistentního parametru ($ligax) dostat hodnotu parametru liga z URL adresy

jtousek
Člen | 951
+
0
-

$this->ligax=$this->getParameter(‚liga‘);

Filip Procházka
Moderator | 4668
+
0
-

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)