Nepřekreslení komponenty – prázdný JSON

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

Zdravím,
mám takový problém s ajaxovým překreslením komponenty. I po naprostém osekání na minimum se nedaří ji přerenderovat, vrací se JSON s „state[]“. V případě normálního volání vše proběhne korektně. popořadě:

FrontPresenter:

class FrontPresenter extends BasePresenter
{
    protected function createComponentCategoryControl()
    {

        $control = new \Product\Components\CategoryControl();
        //$control = $this->context->createProduct_categoryControl();
        $control->invalidateControl();

        return $control;
    }
}

default.latte:

{block content}

{control categoryControl}

CategoryControl.php

namespace Product\Components;

use Product\Models\Services\CategoryService;

use Nette\Application\UI\Control;



class CategoryControl extends Control
{
    /** @persistent */
    private $itemId;


    public function handleChange($itemId)
    {
        $this->itemId = $itemId;
        $this->flashMessage('Id změněno');
    }



    public function render()
    {
        $this->template->setFile(__DIR__ . '/templates/categoryControl.latte');
        $this->template->id = $this->itemId;
        $this->template->render();
    }

categoryControl.latte:

<div>

    ID: {$id}

{foreach $flashes as $flash}
    <div class="flash {$flash->type}">{$flash->message}</div>
{/foreach}

<a href="{link change 3}" class="ajax">Test</a>

</div>

odezva:

{"state":[]}

používám jquery.nette.js z doplňků. Všechny soubory v pořádku načtené. Za případné nakopnutí co dělám špatně předem děkuju.

Editoval pilec (4. 3. 2012 7:03)

Etch
Člen | 403
+
0
-

Nechybí ti tam čistě náhodou {snippet}??? Jinými slovy tam nikde nevidím ani {snippet} ani $this->payload->xxxx = "...". Takže to, že se vrací JSON s state[] mi přijde celkem normální.

Jan Endel
Člen | 1016
+
0
-

Jsem já to ale…, stačilo skutečně jenom celou šablonu obalit {snippet}{/snippet}