<?php class MyPresenter extends BasePresenter { // EN: inject the form interface into the presenter // CS: nainjectujeme si rozhraní továrny formuláře /** @var \IFooFormFactory @inject */ public $fooFormFactory; // EN: this is our foo parameter we need to process our form (for some reason) // CS: toto je náš vlastní parametr, který si z nějakého důvodu potřebujeme předat do formuláře pro zpracování hodnot private $fooParam; // EN: create the from in presenter // CS: vytvoříme formulář v presenteru protected function createComponentFooForm() { // EN: call create() method of the form with our foo parameter // CS: zavoláme metodu create() formuláře a předáme náš parametr $form = $this->fooFormFactory->create($this->fooParam); // EN: this is the event, we defined in the form. Now we can hook on it stuff specific for this presenter, like // redirect or redrawControl() // CS: na událost, kterou jsme si ve formuláři definovali, a který se spustí po jeho odeslání a zpracování, navěsíme další // potřebné věci. V tomto případě redirect. Ten je konkrétní pouze pro tento presenter, proto je uveden zde. $form->onFormSuccess[] = function () { $this->flashMessage('Form has been submitted successfuly', 'success'); $this->redirect('Redirect:somewhere'); }; return $form; } }