AJAX invalidate v include

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

Dobre ranko,

mam na stranke dialogy, ktore pouzivam na viacerych miestach. vyriesil som to, ze v BasePresenteri mam definovane formulare a ich obsluzne funkcie a v include mam uz len samotny formular a snippet:

<div class="dialog" id="dialogOpytatSa">
{snippet dialogOpytatSa}
    {if isset($opytatSaOk)}
    <p><strong>Vaša správa bola odoslaná</strong></p>
    {else}
    {control opytatSa}
    <p><small>* poviné položky formuláru</small></p>
    {/if}
{/snippet}
</div>

problem je, ze ked dam v BasePresenteri po odoslani formularu

<?php
$this->invalidateControl('dialogOpytatSa');
?>

tak to neaktualizuje snippet. ak nakopirujem kod priamo do konkretneho presenteru fo funguje.

Dokazete mi niekto poradit, ako invalidovat boxy ktore mam v include subore? dakujem

Editoval japlavaren (18. 2. 2011 6:22)

Chbox
Člen | 125
+
0
-

zatím nevyřešený problém v Nette2, dá se obejít přes dědičnost šablon.

japlavaren
Člen | 404
+
0
-

nejaky odkaz alebo popis ako to vyriesit? dakujem

dakota
Člen | 148
+
0
-

Popis problému snippet a include – https://forum.nette.org/…vana-sablona

Chbox
Člen | 125
+
0
-

definovat společnýho předka (layout) pro věci, který se snažíš includovat jako soubory a ty věci zabalit do {block}{/block} viz. dědičnost šablon https://latte.nette.org/cs/tags
pro includovaný block to funguje, co si pamatuju.

japlavaren
Člen | 404
+
0
-

Dakujem za odpovede, bohuzial stale nechapem :(

mozete m niekto prosim konkretne napisat, ako to spravit?

mam subor dialog.latte

<div class="dialog" id="dialogOpytatSa">
{snippet dialogOpytatSa}
    {if isset($opytatSaOk)}
    <p><strong>Vaša správa bola odoslaná</strong></p>
    {else}
    {control opytatSa}
    <p><small>* poviné položky formuláru</small></p>
    {/if}
{/snippet}
</div>

a nejaku sablonu, kde potrebujem subor includnut

{include 'dialog.latte'}
Chbox
Člen | 125
+
0
-

master.latte – ver.1

{block #dialog}
{/block}

master.latte – ver.2

{include #dialog}

dialog.latte

{layout 'master.latte'}
{block #dialog}
<div class="dialog" id="dialogOpytatSa">
{snippet dialogOpytatSa}
    {if isset($opytatSaOk)}
    <p><strong>Vaša správa bola odoslaná</strong></p>
    {else}
    {control opytatSa}
    <p><small>* poviné položky formuláru</small></p>
    {/if}
{/snippet}
</div>
{/block}

nějak takto z hlavy…je to v dokumentaci btw, link jsem ti už poslal.