FlashMessage sa nezobrazi vobec

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
figurluk
Člen | 61
+
-1
-

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)

Namespace
Člen | 77
+
0
-
<?php

public function deleteUserFormSucceeded($form)
    {
        $values = $form->getValues(TRUE);

        $this->flashMessage("Zmazanie účastníka prebehlo v poriadku.", 'success');
		$this->redirect('this');
    }
?>
figurluk
Člen | 61
+
0
-

Namespace napsal(a):

<?php

public function deleteUserFormSucceeded($form)
    {
        $values = $form->getValues(TRUE);

        $this->flashMessage("Zmazanie účastníka prebehlo v poriadku.", 'success');
		$this->redirect('this');
    }
?>

nepomohlo :) problem stale pretrvava

Michal Vyšinský
Člen | 608
+
0
-

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
+
0
-

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
+
0
-

Jsi si jistý že se onSuccess vůbec zavolá?

Zkus v createComponentDeleteUserForm přiřadit onSuccess takto:

$form->onSuccess[] = $this->deleteUserFormSucceeded;

figurluk
Člen | 61
+
0
-

ParallelUniv3rse napsal(a):

Jsi si jistý že se onSuccess vůbec zavolá?

Zkus v createComponentDeleteUserForm přiřadit onSuccess takto:

$form->onSuccess[] = $this->deleteUserFormSucceeded;

stale sa nic vobec nedeje… ani ked som to priradil tymto sposobom

figurluk
Člen | 61
+
0
-

v tom latte sa nachadza ten formular v modale od bootstrapu ale nemalo by to podla mna nijako ovplyvnit

figurluk
Člen | 61
+
0
-

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">&times;</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
+
0
-

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
+
0
-

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)

figurluk
Člen | 61
+
0
-

use Nette,
App\Model;
use Nette\Application\UI\Form;
use Nette\Forms;

takto vyzera hlavicka presenteru
ale tak keby bol problem v tomto tak by nefungoval ani ten druhy flashMessage v druhom forme

Editoval figurluk (5. 6. 2015 16:22)

ParallelUniv3rse
Člen | 13
+
0
-

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ě.

figurluk
Člen | 61
+
0
-

ParallelUniv3rse napsal(a):

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ě.

nepomohlo … :(

figurluk
Člen | 61
+
0
-

nebude fakt problem s tym ze je ten form v modale ?

ParallelUniv3rse
Člen | 13
+
0
-

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
+
0
-

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 :(

Azathoth
Člen | 495
+
+1
-

a jak vypadá výsledné html toho formuláře, co se vygeneruje z latte?

figurluk
Člen | 61
+
0
-

nasiel som uz chyba… bola v javascripte od bootstrapu

akadlec
Člen | 1326
+
0
-

To bych spíše tu chybu hledal jinde než v JS od TWT, děláš něco blbě.

figurluk
Člen | 61
+
0
-

akadlec napsal(a):

To bych spíše tu chybu hledal jinde než v JS od TWT, děláš něco blbě.

uz to funguje :)