Persistentní parametr → SelectBox

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

Řeším problém, jak „zpersistentnit“ proměnnou, kterou vytvořím přes Form->addSelect();

Asi by to šlo, ale jako název SelectBoxu nechce Nette vzít „komponenta-nazev“ … musí to být jen string

David Grudl
Nette Core | 8218
+
0
-

Nejlépe asi „manuálně“, prostě po odeslání formuláře ji uložit do persistetní proměnné komponenty.

RaR
Člen | 42
+
0
-

Mám na stránce formulář, který se odesílá změnou selecboxu.

<?php
class Admin_TerminesPresenter extends BasePresenter
{
	public function actionDefault()
	{
        $selectTermines = array(
            1 => 'Aktuální termíny',
            2 => 'Všechny termíny',
        );

        $filter = new AppForm($this, 'filter');
        $filter->addProtection();
        $filter->addSelect('where','Vybrat', $selectTermines)
            ->getcontrolPrototype()->onChange("submit();");
        $filter->onSubmit[] = array($this, 'defaultFilterSubmited');

        $filter->setDefaults($defaults);
        $this->template->filter = $filter;

        $termine = new Termines();
	}

    public function defaultFilterSubmited(AppForm $filter)
    {
        $defaults = $filter->getValues();
        $this->redirect('default');
    }
}
?>

jak mám docílit, aby pole $defaults bylo předáno z defaultFilterSubmited do actionDefault a formulár se naplnil daty z předchozího nastavení?
Díky za radu.

phx
Člen | 651
+
0
-

Nestacilo by jen NEpresmerovat?

Jinak nevidim duvod proc to delat. Pokud to chces nekam ukladat tak to odtamtud zase nacist. Popripade GET nebo SESSION.