Snippet vrací nový obsah, ten se ale nevkládá do snippetu

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

Ahoj, mám malej problém s ajaxem a snippety. Používám nette.ajax.js a history.nette.ajax.js.

Problém je následující. Mám layout takovýto layout

{snippet content}
                <div class="container-fluid">
                    <div class="row">
                        {ifset $submenu}
                            <div class="col-sm-2">
                                {control $submenu}
                            </div>
                            <div class="col-sm-10">
                                {include #content}
                            </div>
                        {else}
                            {include #content}
                        {/ifset}
                    </div>
                </div>
            {/snippet}

Blok content obsahuje data podle akce

{snippet mainbox}
    {block #content}
    <div class="panel panel-default">
        ...
    </div>
    {/block}
{/snippet}

V presenteru

public function actionDefault() {
	if ($this->isAjax()) {
	    $this->redrawControl('mainbox');
	}
    }

    public function actionMetaForm('mainbox') {
	if ($this->isAjax()) {
	    $this->redrawControl();
	}
    }

Po zavolání ajaxu dostanu správně nový obsah snippetu mainbox, ale nevloží se do stránky. Pokud ale změním v presenteru, aby se invalidoval snippet content, tak to funguje. Kde může být problém?

Díky

David Matějka
Moderator | 6445
+
0
-

Prohod to:

{block #content}
    {snippet mainbox}
    <div class="panel panel-default">
        ...
    </div>
    {/snippet}
{/block}

kdyz byl block uvnitr snippetu, doslo v layoutu pouze k zavolani onoho blocku a ne obalovaciho snippetu, tudiz se nevykreslil obalovaci div