Nefunčkní FlashMessages v komponentě
- Fico
- Člen | 8
Dobrý den,
už přes den tady řeším problém s vykreslováním flashMessages, bohužel sem ale k řešení nedospěl. Napsal jsem si komponentu na vykreslování formulářů do modálního okna. Tedy vyvolám přes handler akci a komponenta se překleslí a vyskočí modální okno s formulářem.
To vše funguje skvěle, ale když dojde na flashMessage, vykreslí se pouze v @layoutu stránky, nikoliv v šabloně komponenty. Samozřejmě posílání formuláře jde přes ajax, proto je mi divné že se nevykreslí zprávy i když se invaliduje celek s modálním oknem.
default.latte
<div id="modalbox" class="reveal-modal {$size}">
{snippet modal}
{if $toggle}
<h3>{!$title}</h3>
<hr>
{snippet flashes}
{foreach $flashes as $f}
<div data-alert class="alert-box radius {$f->type}">
{$f->message}
<a href="#" class="close">×</a>
</div>
{/foreach}
{/snippet}
{$content}
{if $form}
{control form}
{/if}
<a class="close-reveal-modal">×</a>
<script type="text/javascript">
var modal = $('#modalbox');
if(!modal.is(':visible'))
{
modal.foundation('reveal', 'open');
}
</script>
{/if}
{/snippet}
</div>
Zdroj komponenty: https://gist.github.com/…mous/5172274
Díky, za rady!
- Michal Vyšinský
- Člen | 608
V tom gistu nevidím, kde voláš tu flash message. Ale typuji, že voláš flash message presenteru:
$this->presenter->flashMessage();
Pokud chceš, aby se ti zobrazovali v šabloně komponenty, tak musíš volat takto:
$this->flashMessage();