Wszystkie formularze, które tworzymy potrzebują przycisku Anuluj. Jednym ze sposobów jest dodanie do przycisku zdarzenia onclick. Za pomocą obiektu window.location uzyskujemy adres url, na który zostaniemy przekierowani po naciśnięciu przycisku Anuluj (Listing 3).
Tworzenie przycisku Anuluj w formularzu ExampleForm zaprezentowano na Listingu 1, Listingu 2, Listingu 3.
Listing 1. Plik formularza ExampleForm.php
// Zend Framework podstawy
...
use Zend\Form\Element\Button;
class ExampleForm extends Form implements InputFilterProviderInterface {
public function __construct($name='example-form', $options = array()) {
// Pola formularza
...
// Przycisk Anuluj w formularzu
$this->add([
'name' => 'button_cancel',
'type' => Button::class,
'options' => [
'label' => 'Anuluj',
],
'attributes' => [
'value' => 'cancel'
],
]);
// Przycisk Submit
...
}
...
}
Listing 2. Utworzenie obiektu formularza w pliku IndexController.php
// Zend Framework podstawy
...
class IndexController extends AbstractActionController {
...
public function exampleAction() {
$exampleForm = new ExampleForm();
...
return new ViewModel(array(
'exampleForm' => $exampleForm
));
}
...
}
Listing 3. Plik widoku example.phtml
// Zend Framework podstawy
...
$form = $this->exampleForm;
...
$action = $this->url('example/show', array('controller' => 'index', 'action' => 'index'));
$cancel = $form->get('button_cancel');
$cancel->setAttribute('onClick', "window.location='{$action}'");
...
<?= $this->formButton($cancel); ?>
...
Wybrane książki:
- Adam Omelak: Zend Framework 3. Poradnik programisty, Wydawnictwo Helion, 2017.
Wybrane strony: