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
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
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