Redirect po zobrazení flashMessage
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Draffix
- Člen | 146
Zdravím ještě jednou, právě jsem narazil na problém, se kterým ani za nic nemůžu pohnout. Potřeboval bych po ajaxovém požadavku jednoduše vypsat flash zprávu. Prošel jsem si videa, tutoriály ale pořád to samé – ajax se nevykoná a místo toho mě to redirektuje, což nechci. Můj kod (používám bootstrap):
Vypsaní zprávy:
{snippet flashMessages}
{foreach $flashes as $flash}
<div class="row-fluid">
<div class="span12 bgcolor">
<div class="alert alert-{$flash->type}">
<a href="#" class="close" data-dismiss="alert">×</a>
{$flash->message}
</div>
</div><!--/span-->
</div><!--/row-->
{/foreach}
{/snippet}
Presenter:
public function editDeliveryPaymentFormSubmitted(UI\Form $form) {
$values = $form->getValues();
$this->order->updateDeliveryPayment($this->getParameter('id'), $values->delivery_delivery_id, $values->payment_payment_id);
$this->flashMessage('Služba byla změněna', 'success');
if (!$this->isAjax())
$this->redirect('this');
else {
$this->invalidateControl('products');
}
}
BasePresenter:
public function beforeRender() {
$this->setLayout('layoutAdmin');
if ($this->isAjax()) {
$this->invalidateControl('flashMessages');
}
}