invalidate control
- deric
- Člen | 93
Snažil jsem se zprovoznit odesílání formulářů přes ajax, odešle se
request, který vyhodnotím, volám $this->invalidateControl();
Ve firebugu se mi jako odezva zobrazí toto:
{"state":{"cp-backlink":null}}
Když jsem zkoušel debugovat výstup z komponenty přes firephp, tak se vrací v pořádku, jenom (podle mě) není zneplatněná komponenta. V čem může být problém? Jak se to dá debugovat?
- deric
- Člen | 93
Jo, ten tam mám. Snažil jsem se to udělat podle fifteen, ale něco mi asi uniká.
v default.phtml mám:
{snippet cp}
<div class="cp">
@{? $cp->render() }
</div>
{/snippet}
a jednotlivé subtemplate componenty jsou zabalené v
{snippet}...{/snippet}
. V metodě obsluhující ajaxovou událost
mi Debug::fireLog($this->isControlInvalid('cp'));
vrátí true
- deric
- Člen | 93
dělal jsem to podle tutoriálu https://doc.nette.org/…ication/ajax
a pochopil jsem to tak, že je potřeba přidat toto do layoutu…
<?php if ($control->isOutputAllowed()) { ?>
<html>
...
</html>
<?php } ?>
pak sem se podíval do tempu, že Nette to udělá samo. A když tam byla ta podmínka dvakrát, tak to nefungovalo :-/