nefunguje invalidace snippetu v sablone komponenty

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

Čau,
mám akci presenteru chat ta má šablonu, ve který se využívá komponenta chat:window:

{block content}

{control chat:window, $person}

šablona komponenty chat:window je:

...

{snippet chat}
<div class="chat-window">
    <div class="messages">
        <div n:class="message, $person->id == $message->from_id ? received : sent" n:foreach="$messages as $message">
            {$message->text}
        </div>
    </div>
</div>
{/snippet}

...

každých pět sekund volám refresh signál na presenteru:

public function handleRefresh()
{
    $this->invalidateControl();
    $this->getComponent('chat')->invalidateControl('chat');
}

Bohužel snippet v šabloně komponenty se nepřekreslí (není v payloadu). Přímo v šabloně presenteru (v layoutu) mám ještě jiné snippety a ty se v pořádku překreslí.

Nevíte co mám kde špatně?

Dík Uiii

Michalek
Člen | 210
+
0
-

Též mi to nefunguje.

Felix
Nette Core | 1190
+
0
-

Ted jsem resil podobny problem. Zkus overovat v render() metode jestli jde o AJAX a jestli ano, tak zavolej renderChat();.

Treba to pomuze, mne to pomohlo, ale nejsem si jistej jestli se to neda resit i jinak.