mikhail kraynuk. form api. drupal 8

7
Form API – Drupal 8 Крайнюк Михаил

Upload: drupaljedi-llc

Post on 14-Aug-2015

12 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Mikhail Kraynuk. Form api. Drupal 8

Form API – Drupal 8Крайнюк Михаил

Page 2: Mikhail Kraynuk. Form api. Drupal 8

Drupal 8 – объектно-ориентирован.

Form API теперь тоже…

Page 3: Mikhail Kraynuk. Form api. Drupal 8

<?php/*** @file* Contains \Drupal\Example\Form\ExampleForm.*/

namespace Drupal\example\Form; use Drupal\Core\Form\FormInterface;

/*** Provides a simple example form.*/class ExampleForm implements FormInterface {

}

public function getFormID()

public function buildForm(array $form, array &$form_state)

public function validateForm(array &$form, array &$form_state)

public function submitForm(array &$form, array &$form_state)

Page 4: Mikhail Kraynuk. Form api. Drupal 8

public function buildForm(array $form, array &$form_state) {

$form['my_text_field'] = array('#type' => 'textfield','#title' => 'Example',

);

return $form; }

Form Builder

Page 5: Mikhail Kraynuk. Form api. Drupal 8

public function validateForm(array $form, FormStateInterface &$form_state) {

if (strlen($form_state->getValue('phone_number')) < 3) {

$form_state->setErrorByName('phone_number', $this->t('The phone number is too short.'));

}

}

Form Validate

Page 6: Mikhail Kraynuk. Form api. Drupal 8

use Drupal\system\SystemConfigFormBase; class ExampleConfigForm extends SystemConfigFormBase {

/*** Implements \Drupal\Core\Form\FormInterface::getFormID().*/public function getFormID() { return 'example_systemconfigformbase';

}

/*** Implements \Drupal\Core\Form\FormInterface::buildForm().*/public function buildForm(array $form, array &$form_state) { $form = parent::buildForm($form, $form_state); // Use the Form API to define form elements.return $form;

} …

system_settings_form()

Page 7: Mikhail Kraynuk. Form api. Drupal 8

Спасибо!

Крайнюк Михаил

[email protected]