Problem s redirectom nette 2.0
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- ricco24
- Člen | 141
Nette 2.0 php 5.2
Mam problem s redirectom ked do createComponent z tutorialu o formnularoch zadam nasledovny redirect tak po stlaceny ok tlacika mi server vyhodi chybu 500. V com robim chybu ?
public function createComponentPokusForm()
{
$form = new NForm();
$form->addText('name', 'Your name:');
$form->addSubmit('ok', 'Send')
->onClick[] = 'OkClicked'; // nebo 'OkClickHandler'
$form->addSubmit('cancel', 'Cancel')
->setValidationScope(FALSE)
->onClick[] = 'CancelClicked'; // nebo 'CancelClickHandler'
// zavolá obslužné handlery (pozn. od verze 0.9.1)
$form->fireEvents();
// obslužné handlery:
function OkClicked(SubmitButton $button)
{
// submitted and valid
save($form->getValues());
redirect('Homepage:default');
}
function CancelClicked(SubmitButton $button)
{
// process cancelled
redirect('Pokus:show2');
}
return $form;
}
A taktiez by som sa chcel spytat aky je rozdiel ked pouzijem NForm alebo NAppForm dakujem.
Editoval ricco24 (30. 1. 2011 13:34)
- dakota
- Člen | 148
Správne má byť:
protected function createComponentPokusForm()
{
$form = new NAppForm;
$form->addText('name', 'Your name:');
$form->addSubmit('ok', 'Send')
->onClick[] = callback($this, 'OkClicked');
$form->addSubmit('cancel', 'Cancel')
->setValidationScope(FALSE)
->onClick[] = callback($this, 'CancelClicked');
return $form;
}
// obslužné handlery:
public function OkClicked(NSubmitButton $button)
{
// submitted and valid
$this->model->save($button->getForm()->getValues());
$this->redirect('Homepage:default');
}
public function CancelClicked(NSubmitButton $button)
{
// process cancelled
$this->redirect('Pokus:show2');
}
Editoval dakota (30. 1. 2011 18:52)
- dakota
- Člen | 148
ricco24 napsal(a):
A taktiez by som sa chcel spytat aky je rozdiel ked pouzijem NForm alebo NAppForm dakujem.
NAppForm – ak sa formuláre používajú v spojení s presenterom alebo komponentov. V createComponent treba vždy použiť AppForm.
NForm – ak používaš formuláre samostatne.
https://doc.nette.org/cs/forms
Editoval dakota (30. 1. 2011 13:53)