preco sa v komponente nenacitam persistentni parameter?

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

Caute viete mi poradit? Mam komponentu a v nej persistentni parameter $data do ktoreho ukladam pole z formulara, ale ked chcem tento parameter nacitat vracia mi NULL. Do url mi ho prenesie ale uz ho nenacitam, co mozem mat zle?

class FilterFormControl extends UI\Control {

    /** @persistent */
    public $data;


    public function getData() {
        // vracia NULL pricom v url mam /?filter-data=priority.......
        \Nette\Diagnostics\Debugger::barDump($this->data);
        $data= array();
        if ($this->data != NULL) {
            parse_str($this->data, $data);
        }
        return $data;
    }

    public function setData($data) {
        if (!empty($data)) {
            $this->data = http_build_query($data, '', '&');
        }
    }

    protected function createComponentForm() {
        $form = new Form;

        // array
        $list = $this->log->getPriorityList();
        $form->addSelect('priority', 'Priorita', $list)
                ->setPrompt('Všetky');
        $form->setDefaults($this->getData());
        $form->addSubmit('filter', 'Filter');
        $form->onSuccess[] = callback($this, 'filterSubmitted');
        return $form;
    }

    public function filterSubmitted(Form $form) {
        $values = $form->getValues();
        $this->setData($values);
        $this->redirect('this');
    }

}
duskohu
Člen | 778
+
0
-

Aj si sam odpoviem :-)
https://pla.nette.org/…nty-k-rodici