Динамика. Form API 2.
-
Upload
drupalsib -
Category
Presentations & Public Speaking
-
view
96 -
download
4
Transcript of Динамика. Form API 2.
![Page 1: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/1.jpg)
Form API 2.Динамика
Крайнюк Михаил
![Page 2: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/2.jpg)
![Page 3: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/3.jpg)
Проверка данных
Если есть ошибки
Иначе обработкаданных
![Page 4: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/4.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/5.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/6.jpg)
$elements = drupal_get_form('name_my_form');
print render($elements);
![Page 7: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/7.jpg)
. . .
![Page 8: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/8.jpg)
#states | #ajax
Form APIForm API
![Page 9: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/9.jpg)
#states
![Page 10: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/10.jpg)
#states
![Page 11: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/11.jpg)
#states
![Page 12: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/12.jpg)
#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.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/13.jpg)
#ajax
![Page 14: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/14.jpg)
#ajax
![Page 15: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/15.jpg)
#ajax
![Page 16: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/16.jpg)
#ajax
ДАННЫЕ
ДАННЫЕ
ДАННЫЕ
ДАННЫЕ
![Page 17: Динамика. Form API 2.](https://reader030.fdocuments.net/reader030/viewer/2022020207/5591bc361a28abfb448b458a/html5/thumbnails/17.jpg)
$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