Jak zamezit ajax požadavku použití šablony?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- CZechBoY
- Člen | 3608
Zdravím,
včera mi to šlo, dnes to nejde – aneb reálný život :D
Mám metodu v presenteru:
public function actionApprove($content_id, $approve = 1) {
$this->model->updateContent($content_id, array('approved' => $approve));
$this->flashMessage('Úspěšně schváleno ' . $this->model->getContent($content_id)->fetch()->name . '.', 'success');
if (!$this->isAjax()) {
$this->redirect('Content:list');
}
}
a v šabloně potom klasicky odkazy přes ajax
<a n:if="$content->approved" n:href="Content:approve $content->content_id, approve=>0" class="ajax">Neschválit</a>
<a n:if="!$content->approved" n:href="Content:approve $content->content_id" class="ajax">Schválit</a>
Nicméně při ajaxovém volání (s class=„ajax“ u odkazu) mi nette
vypíše hlášku, že nebyla nalezena šablona Content/approve.list, bez ajaxu
se mi klasicky přesměruje stránka na Content:list a žádná hláška není
vidět.
Co s tím? Díky
Editoval CZechBoY (29. 7. 2014 12:06)
- David Matějka
- Moderator | 6445
na tohle pouzij radeji signaly, https://doc.nette.org/…n/components#…
takze actionApprove prejmenujes na handleApprove a odkaz zmenis z
Content:approve
na approve!