flashMessage a redirect nejde
- brontosaurus
- Člen | 49
Data se mi uloží OK ale následná zpráva a redirect už se neprovede. Netuším proč..
PostPresenter :
public function commentFormSucceeded($form, $values)
{
$postId = $this->getParameter('postId');
$this->database->table('comments')->insert(array(
'post_id' => $postId,
'name' => $values->name,
'email' => $values->email,
'content' => $values->content,
));
$this->flashMessage('Děkuji za komentář', 'success'); //- neprovede se
$this->redirect('this'); //- a to taky ne
}
- Freema
- Člen | 18
Používaš zvláštní uvozovky :)) http://framework.zend.com/…g-style.html
Ale to je jedno otestuj tohle:
<?php
$form->presenter->flashMessage("Vaše zpráva byla úspěšně odeslána.", "success");
$form->presenter->redirect("this");
?>
Jedny co mě napadá proč by ti to nemělo jít je že někde zachycuješ vyjímku. Tahle konstrukce ti například nepůjde protože nette potřebuje pro redirect vyhodit vyjímku. Tohle nebude fungovat:
<?php
try {
$this->flashMessage("Vaše zpráva byla úspěšně odeslána.", "success");
$this->redirect("this");
} catch (\Exception $ex) {
dump($ex);
}
?>
Editoval Freema (27. 4. 2015 10:52)
- brontosaurus
- Člen | 49
Takže problém je s diakritikou. Pokud odstraním z FlMess háčky a čárky tak to jede. Ale já bych je tam rád měl :-) .. Jo a zvláštní uvozovky jsem zkopíroval z kódu z QuickStart. Učím se to podle toho.
- brontosaurus
- Člen | 49
Pokud změním kódování v PostPresenter.php na UTF8 vyhodí mi NETT
hlášku :
„Namespace declaration statement has to be the very first statement in the
script“ a nejde nic ..
Jinak jsem na hostingu WEDOS-tam by snad problém být neměl. Všechno
ostatní mi jede česky v poho ..
V šablonách *.latte mám UTF8 a taky není problém.
- David Matějka
- Moderator | 6445
hm, tipuju, ze to tam hodilo BOM. Asi pouzivas nejakej hloupej editor, co? Pouzivej alespon netbeans, ten takovy blbosti delat nebude :)
- brontosaurus
- Člen | 49
Používám Pspad takže si nainstaluju netbeans(stejně jsem to chtěl udělat) a vyzkouším to. Díky.