FlashMessage sa nezobrazi vobec
- figurluk
- Člen | 61
v presenteri mam:
<?php
protected function createComponentDeleteUserForm()
{
$form = new Form;
$form->addHidden('idUser');
$form->addSubmit('delete');
$form->onSuccess[] = array($this, 'deleteUserFormSucceeded');
return $form;
}
public function deleteUserFormSucceeded($form)
{
$values = $form->getValues(TRUE);
$this->flashMessage("Zmazanie účastníka prebehlo v poriadku.", 'success');
}
?>
a v latte mam:
{form deleteUserForm}
<input type=„hidden“ id=„idDeleteUser“ n:name=idUser>
<button type=„submit“ id=„delete-buttonSubmit“ class=„btn
btn-danger pull-right“ data-dismiss=„modal“ n:name=delete>Zmazať
účastníka</button>
{/form}
v inom formulari to normalne funguje a v tomto nie viete mi poradit preco tomu tak je ?
Editoval figurluk (5. 6. 2015 15:35)
- Michal Vyšinský
- Člen | 608
Přidá se ti do url po přesměrování parametr „fid“? V latte kódu co jsi poslal nevidím, že bys někde flash message vypisoval.
EDIT:
Ještě bys mohl zkusit dát:
dump("foo");
exit();
před volání $this->flashMessage()
abys věděl, jestli se
ti ten kód vůbec spustí
Editoval Michal Vyšinský (5. 6. 2015 16:08)
- figurluk
- Člen | 61
Michal Vyšinský napsal(a):
Přidá se ti do url po přesměrování parametr „fid“? V latte kódu co jsi poslal nevidím, že bys někde flash message vypisoval.
EDIT:
Ještě bys mohl zkusit dát:dump("foo"); exit();
před volání
$this->flashMessage()
abys věděl, jestli se ti ten kód vůbec spustí
no nevem co mal ten dump urobit ale nic sa nevykonalo takze sa to asi ani nevykonava…
v @layout.latte mam:
<div n:foreach=„$flashes as $flash“ n:class=„flash,
$flash->type“
style=„position:absolute; left:0; margin-left:auto; right:0;
margin-right:auto; width:40%; text-align:center; margin-top:5%“>
{$flash->message}
</div>
Editoval figurluk (5. 6. 2015 16:10)
- ParallelUniv3rse
- Člen | 13
Jsi si jistý že se onSuccess vůbec zavolá?
Zkus v createComponentDeleteUserForm přiřadit onSuccess takto:
$form->onSuccess[] = $this->deleteUserFormSucceeded;
- figurluk
- Člen | 61
figurluk napsal(a):
v tom latte sa nachadza ten formular v modale od bootstrapu ale nemalo by to podla mna nijako ovplyvnit
<div class="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-labelledby="deleteModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="deleteModalLabel">Zmazať účastníka</h4>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
{form deleteUserForm}
<input type="hidden" id="idDeleteUser" n:name=idUser>
<button type="submit" id="delete-buttonSubmit" class="btn btn-danger pull-right" data-dismiss="modal" n:name=delete>Zmazať účastníka</button>
{/form}
</div>
</div>
</div>
</div>
- Michal Vyšinský
- Člen | 608
Ukaž use
který máš použítý pro Form. Měl by to být
Nette\Application\UI\Form
a ne Nette\Forms\Form
Editoval Michal Vyšinský (5. 6. 2015 16:18)
- ParallelUniv3rse
- Člen | 13
Spíš by se hodil kód presenteru :)
Ještě mě napadá, zda-li používáš správnou třídu Form
(Nette\Application\UI\Form)..
EDIT: Vždy o kousek pozdě.. :D
Editoval ParallelUniv3rse (5. 6. 2015 16:20)
- ParallelUniv3rse
- Člen | 13
v createComponentDeleteUserForm inicializuj form takto:
$form = new \Nette\Application\UI\Form;
nahoře máš use Nette\Forms; a možná si $form = new Form; bere právě z tohoto use, což je špatně.
- ParallelUniv3rse
- Člen | 13
Nene :)
Ještě zkus v šabloně nahradit toto:
{form deleteUserForm}
<input type="hidden" n:name=idUser>
<button class="btn btn-danger pull-right" data-dismiss="modal" n:name=delete>Zmazať účastníka</button>
{/form}
tímto:
<form n:name="deleteUserForm">
<input type="hidden" id="idDeleteUser" n:name=idUser>
<button type="submit" id="delete-buttonSubmit" class="btn btn-danger pull-right" data-dismiss="modal" n:name=delete>Zmazať účastníka</button>
</form>
společně s ostatními fixy co jsme tu zmiňovali
- figurluk
- Člen | 61
ParallelUniv3rse napsal(a):
Nene :)
Ještě zkus v šabloně nahradit toto:{form deleteUserForm} <input type="hidden" n:name=idUser> <button class="btn btn-danger pull-right" data-dismiss="modal" n:name=delete>Zmazať účastníka</button> {/form}
tímto:
<form n:name="deleteUserForm"> <input type="hidden" id="idDeleteUser" n:name=idUser> <button type="submit" id="delete-buttonSubmit" class="btn btn-danger pull-right" data-dismiss="modal" n:name=delete>Zmazať účastníka</button> </form>
společně s ostatními fixy co jsme tu zmiňovali
nepomohlo :(