AJAX handle a prenos dat ve tride

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

Chci se zeptat zda jde udelat tato vec, pravdepodobne ne, protoze mi to nefunguje. Mzslel jsem, ze si v handle ulozim do promene catFail data a pak pouziju pri render. Kdyz jsem koukal na zivotni cyklus tak by to melo fungovat. Pokud v handle pouziji $this->catFil = TRUE; tak to funguje, ale data z $category se nenactou.

presenter:

<?php
class Admin_ProduktyPresenter extends AdminPresenter
{
    private $catFil = NULL;

    public function renderDefault() {
        $OProdukty = new Admin_ProduktyModels();
        if ($this->isAjax()) {
            $this->invalidateControl('list1'); }

        $this->template->products = $OProdukty->showProductAll($this->catFil);
        $this->template->cat = $this->catFil;

    }

    public function handleCatFilter($category) {
        $this->catFil = $category;
        if (!$this->isAjax())
            $this->redirect('this');
        else {
            $this->invalidateControl('list3');
        }

    }
?>

template:

<?php
<a href="{link catFilter!, $cat->category}" class="ajax">{$cat->category}</a>
?>
Honza Kuchař
Člen | 1662
+
0
-

Pokud vim, tak by to fungoval melo. Zkus krokovat. Tim zjistis, co je v jednotlivych promenych.

jasir
Člen | 746
+
0
-

Při Ajaxu redirectuješ, tam se to určitě ztratí.
Zkus z toho udělat persistentní proměnnou, tedy:

<?php
	/** @persistent */
	public $catFil = NULL;
?>
saimons
Člen | 293
+
0
-

Diky za odpoved. Omlouvam se, ono to funguje i s tim private. Mel jsem chybu jinde, co pouzivate na zobrazovani chyb v ajaxovejch aplikacich? Jako kdyz vyskoci ladenka tak clovek nemusi ani debugovat, ale v ajaxovejch app se to hodne tezko hleda. Pak jsem nevedel, kde je vlastne chyba.

Editoval saimons (30. 3. 2011 15:46)

Jan Endel
Člen | 1016
+
0
-

Firebug a když vyskočí laděnka tak ji tam pohodlně uvidíš.

saimons
Člen | 293
+
0
-

A tam jde nak i zavest, aby se tam zobrazovali vykonane SQL dotazy? Jako to zobrazuje nette listicka? Jetli jo tak je to super.