Loading src/UnicaenExemple/MultipageForm/Controller/ContactController.php +16 −11 Original line number Diff line number Diff line Loading @@ -2,11 +2,12 @@ namespace UnicaenExemple\MultipageForm\Controller; use UnicaenExemple\MultipageForm\Entity\ContactEntity; use UnicaenExemple\MultipageForm\Form\ContactMultipageForm; use Laminas\Http\Response; use Laminas\Mvc\Controller\AbstractActionController; use UnicaenExemple\MultipageForm\Entity\ContactEntity; use UnicaenExemple\MultipageForm\Form\ContactMultipageForm; use UnicaenMultipageForm\Controller\Plugin\MultipageFormPlugin; use UnicaenMultipageForm\Form\Fieldset\MultipageFormNavFieldset; use UnicaenMultipageForm\Form\MultipageForm; /** Loading @@ -23,48 +24,52 @@ class ContactController extends AbstractActionController { $this->form = new ContactMultipageForm('contact'); $this->form->setObject(new ContactEntity()); $this->form->setActionPrefix('ajouter-'); // //$this->form->setActionPrefix('ajouter-'); // $this->contact = new ContactEntity(); $this->contact = new ContactEntity('Hochon', 'Paule', 'Mme', 'paule.hochon@mail.fr', 'Bonjour !'); } public function ajouterAction(): Response public function startAction(): Response { $this->form->bind($this->contact); return $this->multipageForm($this->form)->start(); // réinit du plugin et redirection vers la 1ère étape } public function ajouterIdentiteAction(): Response|array public function identiteAction(): Response|array { $this->form->bind($this->contact); return $this->multipageForm($this->form)->process(); } public function ajouterAdresseAction(): Response|array public function adresseAction(): Response|array { $this->form->bind($this->contact); return $this->multipageForm($this->form)->process(); } public function ajouterMessageAction(): Response|array public function messageAction(): Response|array { // possibilité d'agir sur les boutons de navigation $navigationFieldsetPrototype = MultipageFormNavFieldset::create(); $navigationFieldsetPrototype->getNextButton()->setValue("Passer au récapitulatif >"); $this->form->setNavigationFieldsetPrototype($navigationFieldsetPrototype); $this->form->bind($this->contact); return $this->multipageForm($this->form)->process(); } public function ajouterAnnulerAction(): Response public function annulerAction(): Response { $this->multipageForm($this->form)->cancel(); return $this->redirect()->toRoute('exemple/contact'); } public function ajouterConfirmerAction(): Response|array public function confirmerAction(): Response|array { return $this->multipageForm($this->form)->process(); } public function ajouterEnregistrerAction(): false public function enregistrerAction(): false { $data = $this->multipageForm($this->form)->getFormSessionData(); var_dump($data); Loading src/UnicaenExemple/MultipageForm/Form/ContactMultipageForm.php +1 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ class ContactMultipageForm extends MultipageForm ->add(new AdresseFieldset(self::FIELDSET_2_NAME)) ->add(new MessageFieldset(self::FIELDSET_3_NAME)) ->add((new MultipageFormConfirmFieldset(self::FIELDSET_CONFIRM_NAME))->setLabel('Confirmation')) ->add(new Submit('save', ['label'=>"Enregistrer"])); ; } /** Loading Loading
src/UnicaenExemple/MultipageForm/Controller/ContactController.php +16 −11 Original line number Diff line number Diff line Loading @@ -2,11 +2,12 @@ namespace UnicaenExemple\MultipageForm\Controller; use UnicaenExemple\MultipageForm\Entity\ContactEntity; use UnicaenExemple\MultipageForm\Form\ContactMultipageForm; use Laminas\Http\Response; use Laminas\Mvc\Controller\AbstractActionController; use UnicaenExemple\MultipageForm\Entity\ContactEntity; use UnicaenExemple\MultipageForm\Form\ContactMultipageForm; use UnicaenMultipageForm\Controller\Plugin\MultipageFormPlugin; use UnicaenMultipageForm\Form\Fieldset\MultipageFormNavFieldset; use UnicaenMultipageForm\Form\MultipageForm; /** Loading @@ -23,48 +24,52 @@ class ContactController extends AbstractActionController { $this->form = new ContactMultipageForm('contact'); $this->form->setObject(new ContactEntity()); $this->form->setActionPrefix('ajouter-'); // //$this->form->setActionPrefix('ajouter-'); // $this->contact = new ContactEntity(); $this->contact = new ContactEntity('Hochon', 'Paule', 'Mme', 'paule.hochon@mail.fr', 'Bonjour !'); } public function ajouterAction(): Response public function startAction(): Response { $this->form->bind($this->contact); return $this->multipageForm($this->form)->start(); // réinit du plugin et redirection vers la 1ère étape } public function ajouterIdentiteAction(): Response|array public function identiteAction(): Response|array { $this->form->bind($this->contact); return $this->multipageForm($this->form)->process(); } public function ajouterAdresseAction(): Response|array public function adresseAction(): Response|array { $this->form->bind($this->contact); return $this->multipageForm($this->form)->process(); } public function ajouterMessageAction(): Response|array public function messageAction(): Response|array { // possibilité d'agir sur les boutons de navigation $navigationFieldsetPrototype = MultipageFormNavFieldset::create(); $navigationFieldsetPrototype->getNextButton()->setValue("Passer au récapitulatif >"); $this->form->setNavigationFieldsetPrototype($navigationFieldsetPrototype); $this->form->bind($this->contact); return $this->multipageForm($this->form)->process(); } public function ajouterAnnulerAction(): Response public function annulerAction(): Response { $this->multipageForm($this->form)->cancel(); return $this->redirect()->toRoute('exemple/contact'); } public function ajouterConfirmerAction(): Response|array public function confirmerAction(): Response|array { return $this->multipageForm($this->form)->process(); } public function ajouterEnregistrerAction(): false public function enregistrerAction(): false { $data = $this->multipageForm($this->form)->getFormSessionData(); var_dump($data); Loading
src/UnicaenExemple/MultipageForm/Form/ContactMultipageForm.php +1 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ class ContactMultipageForm extends MultipageForm ->add(new AdresseFieldset(self::FIELDSET_2_NAME)) ->add(new MessageFieldset(self::FIELDSET_3_NAME)) ->add((new MultipageFormConfirmFieldset(self::FIELDSET_CONFIRM_NAME))->setLabel('Confirmation')) ->add(new Submit('save', ['label'=>"Enregistrer"])); ; } /** Loading