Požadavek na invalidaci z popup okna
- newPOPE
- Člen | 648
Moznosti je viacero :-).
Asi by som siel cestou ze poslem ajax request na
RodicovskyPresenter::actionUpdateFoo
.
<?php
// Rodicovsky presenter
public fnc actionUpdateFoo(...) {
$this->setLayout(FALSE);
$this->invalidateControl('snippet');
}
?>
a v sablone updateFoo.latte
pouzijem toto:
<?php
<div n:snippet="snippet">
{control myComponent:view} //
</div>
?>
samozrejme nazov snippetu mi musi sediet s tym ako je pomenovany v tej
sablone ktora vykresli tu „rodicovsku“ stranku. Tym padom mi to posle take
iste a JS to replacne. Je tu mozne vyuzit este include
v Latte.
Asi to nie je velmi jasne :-), ale kedze sa nedaju posielat signaly cross presenter tak som si nasiel takyto workaround.
Editoval newPOPE (21. 6. 2012 15:01)
- SparkCZ
- Člen | 22
Díky za nakopnutí, vypadá že by to takto mohlo fungovat.
Snippet se pošle, ale bohužel rodičovská stránka se nepřekreslí. Názvy snippetu mám stejný, pokud víceméně stejnou akci vyvolám z rodičovského presenteru, tak se snippet i invaliduje. Nejspíš tam bude jeětě „něco“…
EDIT: Jo tak když vyvolám akci z popup pomocí ajaxovýho odkazu, tak to jde, jen to nejde naprimo pomoci JS:
<script>
$.ajax({
type: "GET",
url: {plink :Admin:Tasks:refresh}
});
</script>
EDIT2: Tak jo :) Díky…
<script>
$.ajax({
url:{plink :Admin:Tasks:refresh},
success:function (payload) {
jQuery.nette.success(payload);
},
});
</script>
Editoval SparkCZ (21. 6. 2012 16:03)