Динамика. Form API 2.

18
Form API 2. Динамика Крайнюк Михаил

Transcript of Динамика. Form API 2.

Page 1: Динамика. Form API 2.

Form API 2.Динамика

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

Page 2: Динамика. Form API 2.
Page 3: Динамика. Form API 2.

Проверка данных

Если есть ошибки

Иначе обработкаданных

Page 4: Динамика. Form API 2.

function name_my_form($form, &$form_state) { … return $form;}

function name_my_form_validate(&$form, &$form_state) { … form_error($form['bad_item'], t('Nope...'));}

function name_my_form_submit(&$form, &$form_state) { … $a = $form_state['values']['good_item'];}

Page 5: Динамика. Form API 2.

Form APIForm API

function name_my_form($form, &$form_state) { $form[‘email'] = array( '#type' => ‘textfield', '#title' => t(‘Email'), ); … return $form;}

Page 6: Динамика. Form API 2.

$elements = drupal_get_form('name_my_form');

print render($elements);

Page 7: Динамика. Form API 2.

. . .

Page 8: Динамика. Form API 2.

#states | #ajax

Form APIForm API

Page 9: Динамика. Form API 2.

#states

Page 10: Динамика. Form API 2.

#states

Page 11: Динамика. Form API 2.

#states

Page 12: Динамика. Form API 2.

#states#states$form['coupon_code'] = array( '#type' => ‘textfield', '#title' => t('Input number of coupon'), '#states' => array( 'visible' => array( ':input[name="abcde"]' => 'checked', ), ),);

Page 13: Динамика. Form API 2.

#ajax

Page 14: Динамика. Form API 2.

#ajax

Page 15: Динамика. Form API 2.

#ajax

Page 16: Динамика. Form API 2.

#ajax

ДАННЫЕ

ДАННЫЕ

ДАННЫЕ

ДАННЫЕ

Page 17: Динамика. Form API 2.

$form['offer_type'] = array( '#type' => ‘select', '#title' => t('Select type of offer'), '#options' => array( … ), '#ajax' => array( 'callback' => 'name_of_your_php_function', 'wrapper' => 'html-id-of-wrapper', 'method' => 'replace', 'effect' => 'fade', ),);

#ajax

Page 18: Динамика. Form API 2.

Спасибо за внимание!

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

[email protected]