komponenta, signály, ajax a flashmessage
- Oggy
- Člen | 306
nette 0.9.2 php 5.2.11
Už nějak vůbec nevím, kde je chyba :-/ Nedokáži rozchodit signály z kompnenty a vypisování flashmessage ..
presenter:
<?php
class Admin_WebPresenter extends Admin_BasePresenter
{
public function createComponentWebStructure($name) {
$menu = new WebStructure($this, $name);
$menu->fill(NULL,$menu);
return $menu;
}
}
?>
komponenta:
<?php
...
public function handleMove($node,$refNode,$type) {
...
$this->getPresenter()->flashMessage('Úspěšně přesunuto.', 'success');
$this->getPresenter()->invalidateControl('flashMesage');
}
?>
@layout:
<?php
{snippet flashMessage}
<div id="flashes">
{foreach $flashes as $flash}
<div class="flash {$flash->type}">{$flash->message}</div>
{/foreach}
</div>
{/snippet}
{include #content}
?>
default.phtml:
<?php
{control webStructure}
jquery:
onmove : function (NODE,REF_NODE,TYPE,TREE_OBJ,RB) {
$.get({link move! }, {'webStructure-node': NODE.id, 'webStructure-refNode' : REF_NODE.id, 'webStructure-type' : TYPE } );
}
?>
handleMove se provede.. ale ve firebugu při náhledu do odezvy vrací celý
kód html stránky..
a flashmessages také ne..
- Oggy
- Člen | 306
nemá někdo prosím alespoň tušení kde může být problém? .. v handleMove šahám do db atd..to proběhne.. ale potom to překreslení flashmessage nejede..
pokud volám signál presenteru a předám novou flashmessage tak invalidace funguje (díky zavináči před extends ..viz https://forum.nette.org/…i-ajax-linku ..nebo spíše https://forum.nette.org/…plate-file-1) ..ale pokud to volám z komponenty nic..
díky
- Oggy
- Člen | 306
tak malý posun.. je potřeba refreshnout v jquery snippety:
<script>
$.get({link move!}, {'webStructure-node': NODE.id, 'webStructure-refNode' : REF_NODE.id, 'webStructure-type' : TYPE}, function(payload) {
// refresh all snippets
for(var id in payload.snippets) {
$('#' + id).html(payload.snippets[id]);
}
});
</script>
Nyní už je odezva pouze state[] .. takže teď otázka zní proč.. v odezvě chybí obsah snippetu flashmessage?
- Oggy
- Člen | 306
Oggy napsal(a):
tak malý posun.. je potřeba refreshnout v jquery snippety:
<script> $.get({link move!}, {'webStructure-node': NODE.id, 'webStructure-refNode' : REF_NODE.id, 'webStructure-type' : TYPE}, function(payload) { // refresh all snippets for(var id in payload.snippets) { $('#' + id).html(payload.snippets[id]); } }); </script>
Nyní už je odezva pouze state[] .. takže teď otázka zní proč.. v odezvě chybí obsah snippetu flashmessage?
a odpověď zní :-) měl jsem ve flashmessage jen jedno s … uff.. tohle je pak chyba, které alespoň u mě nelze skoro odhalit ..