- Все для CMS | Joomla, Drupal, phpBB, Wordpress, DLE, IPB - http://cmsart.ru -

Справочник Forms API

Posted By admin On 11.04.2012 @ 3:08 пп In Справочник API | No Comments

Этот документ является полным справочник к Forms API Друпала. Если вас интересует пошаговая интрукция о том, как создавать собственные формы, вам лучше начать с быстрого введения в Forms API [1].

Перейти к: параметрам [2] | значениям по-умолчанию [3] | элементам [4]

Элементы формы

Легенда:
X = используется с этим элементом
- = не используется с этим элементом

#type [5] checkbox [6] checkboxes [7] date [8] fieldset [9] file [10] password [11] radio [12] radios [13] select [14] textarea [15] textfield [16] weight [17]
#access [18] X X X X X X X X X X X X
#ahah [19] X - - - - X X - X X X -
#after_build [20] X X X X X X X X X X X X
#attributes [21] X X X X X X X X X X X X
#autocomplete_path [22] - - - - - - - - - - X -
#collapsed [23] - - - X - - - - - - - -
#collapsible [24] - - - X - - - - - - - -
#cols [25] - - - - - - - - - X - -
#default_value [26] X X X - - - X X X X X X
#delta [27] - - - - - - - - - - - X
#description [28] X X X X X X X X X X X X
#disabled [29] X X X - X X X X X X X X
#element_validate [30] X X X X X X X X X X X X
#field_prefix [31] - - - - - - - - - - X -
#field_suffix [32] - - - - - - - - - - X -
#maxlength [33] - - - - - - - - - - X -
#multiple [34] - - - - - - - - X - - -
#options [35] - X - - - - - X X - - -
#parents [36] X X X X X X X X X X X X
#prefix [37] X X X X X X X X X X X X
#required [38] X X X - - X X X X X X X
#return_value [39] X X - - - - X X - - - -
#rows [40] - - - - - - - - - X - -
#size [41] - - - - - - - - X - X -
#suffix [42] X X X X X X X X X X X X
#theme [43] X X X X X X X X X X X X
#title [44] X X X X X X X X X X X X
#tree [45] X X X X X X X X X X X X
#weight [46] X X X X X X X X X X X X

Особые элементы

# [5]type [5] button [47] image_button [48] submit [49] form [50] hidden [51] markup [52] item [53] value [54]
#after_build [20] X X X X X X X -
#ahah [19] X X X - - - - -
#action [55] - - - X - - - -
#attributes [21] X X X X X X X -
#button_type [56] X X X - - - - -
#default_value [26] - - - - X - - -
#description [28] - - - - - - X -
#element_validate [30] X X X - X X X X
#executes_submit_callback [57] X X X - - - - -
#method [58] - - - X - - - -
#parents [36] X X X - X - - X
#prefix [37] X X X X X X X -
#redirect [59] - - - X - - - -
#required [38] - - - - X - - -
#src [60] - X - - - - - -
#submit [61] X X X X - - - -
#suffix [42] X X X X X X X -
#theme [43] X X X X X X X -
#title [44] - - - - - - X -
#tree [45] X X X X X - - X
#validate [62] X X X X - - - -
#value [63] X X X - - X X X
#weight [46] X X X - - X X -

Значения по-умолчанию

Каждый элемент автоматически получает эти значения (см. _element_info):

Список умолчаний для различных элементов (см. system_elements() [64]):

 

Элементы

Жирным шрифтом помечены параметры, которые, в большинстве случаев, обязательно стоит заполнить при создании элемента.

button

Описание: Обычная кнопка. При нажатии, форма передается в обработчик Друпала, где она проходит валидацию и перестройку. Submit-обработчик формы не выполняется по-умолчанию, но можно использовать#executes_submit_callback [57], чтобы это изменить.

Параметры#ahah [19]#attributes [21]#button_type [56] (по-умолчанию: submit), #executes_submit_callback [57] (по-умолчанию: FALSE), #name [65] (по-умолчанию: op), #prefix [37]#suffix [42]#type [5]#value [63]#weight [46]

Пример использования (node.module [67]):

<?php
$form['preview'] = array [68](
  '#type' => 'button',
  '#value' => t [69]('Preview'),
  '#weight' => 19,
);
?>

checkbox

Описание: Чекбокс (галочка).

Параметры#ahah [19]#attributes [21]#default_value [26]#description [28]#prefix [37]#required [38]#return_value [39] (по-умолчанию: 1), #suffix [42]#title [44]#type [5]#weight [46]

Пример использования (contact.module [70]):

<?php
$form['copy'] = array [68](
  '#type' => 'checkbox',
  '#title' => t [69]('Send me a copy.'),
);
?>

checkboxes

Описание: Группа чекбоксов. Здесь, #options — это ассоциативный массив. При обработке, форма возвратит в параметре #return_value значение, которое находится в ключах массива. На самой форме отображаются значения этого массива. Массив #options не может содержать элементов с ключем равным  .

Параметры#attributes [21]#default_value [26]#description [28]#options [35]#prefix [37]#required [38]#suffix [42]#title [44]#tree [45](по-умолчанию: TRUE), #type [5]#weight [46]

Пример использования (node.module [67]):

<?php
$form['node_options_'. $node->type] = array [68](
  '#type' => 'checkboxes',
  '#title' => t [69]('Default options'),
  '#default_value' => variable_get [71]('node_options_'. $node->type, array [68]('status', 'promote')),
  '#options' => array [68](
    'status' => t [69]('Published'),
    'moderate' => t [69]('In moderation queue'),
    'promote' => t [69]('Promoted to front page'),
    'sticky' => t [69]('Sticky at top of lists'),
    'revision' => t [69]('Create new revision'),
  ),
  '#description' => t [69]('Users with the <em>administer nodes</em> permission will be able to override these options.'),
);
?>

date

Описание: Поле выбора даты. В параметре #default_value будет стоять сегодняшняя дата, если не указать другого. Форматом параметров #default_value и #return_value является массив с ключами ’year’, ’month’, and’day’: array [68]('year' => 2007, 'month' => 2, 'day' => 15)

Параметры#attributes [21]#default_value [26]#description [28]#prefix [37]#required [38]#suffix [42]#title [44]#type [5]#weight [46]

Пример использования (profile.module [72]):

<?php
$fields[$category][$field->name] = array [68](
  '#type' => 'date',
  '#title' => check_plain [73]($field->title),
  '#default_value' => $edit[$field->name],
  '#description' => _profile_form_explanation [74]($field),
  '#required' => $field->required
);
?>

fieldset

Описание: Группа элементов. Служит только для группировки нескольких элементов в одну панельку (те, что могут разворачиваться и схлопываться)

Параметры#attributes [21]#collapsed [23] (по-умолчанию: FALSE), #collapsible [24] (по-умолчанию: FALSE),#description [28]#prefix [37]#suffix [42]#title [44]#type [5]#weight [46]

Пример использования (contact.module [70]):

<?php
$form['contact'] = array [68](
  '#type' => 'fieldset',
  '#title' => t [69]('Contact settings'),
  '#weight' => 5,
  '#collapsible' => TRUE,
  '#collapsed' => FALSE,
);
?>

file

Описание: Поле для загрузки файла.

Примечание: следует включать $form['#attributes'] = array [68]('enctype' => "multipart/form-data"); в описание формы. См. http://drupal.org/node/111782 [75].

Примечание: Параметр #required этим элементом не поддерживается (его установка в TRUE будет всегда вызывать ошибки валидации). Вместо этого, используйте собственную функцию валидации для проверки массива $_FILES (но с #required должен быть FALSE). Кроме того, вам нужно самостоятельно позаботиться о выводе звездочки или другой пометки «обязательности» поля, если это необходимо. Это можно реализовать темизацией элемента (см #theme [43]).

Параметры#attributes [21]#description [28]#prefix [37]#size [41] (по-умолчанию: 60), #suffix [42]#title [44]#type [5]#weight [46]

Пример использования (upload.module [76]):

<?php
$form['new']['upload'] = array [68](
  '#type' => 'file',
  '#title' => t [69]('Attach new file'),
  '#size' => 40,
);
?>

form

Описание: Форма.

Параметры#action [55] (по-умолчанию: request_uri()), #attributes [21]#method [58] (по-умолчанию: ‘post’), #prefix [37],#submit [61]#suffix [42]#theme [43]#validate [62]

Пример использования:

N/A

hidden

Описание: Скрытое поле, которое не отображается пользователю на форме.

Параметры#prefix [37]#suffix [42]#type [5]#value [63]

Пример использования (block.module [77]):

<?php
$form['bid'] = array [68]('#type' => 'hidden', '#value' => $bid);
?>

image_button

Описание: Кнопка-картинка. Функционал аналогичен кнопке отправки формы [49].

Параметры#ahah [19]#attributes [21]#button_type [56] (по-умолчанию: ‘submit’), #executes_submit_callback [57] (по-умолчанию: TRUE), #name [65] (по-умолчанию: ‘op’), #prefix [37]#src [60]#suffix [42]#submit [61]#type [5]#value [63]#weight [46]

markup

Описание: Элемент разметки. Служит для разметки внутри форм. При создании этого элемента нет нужды заполнять параметр #type = 'markup', так как это тип — по-умолчанию для всех элементов.

Обратите внимание: этот элемент не обертывается в html-теги вообще, поэтому не удивляйтесь если вдруг внутренние элементы этого поля криво вылезут на форме.

Параметры#attributes [21]#prefix [37] (по-умолчанию: »), #suffix [42] (по-умолчанию: »), #type [5]#value [63]#weight [46]

Пример использования (contact.module [70]):

<?php
$form['contact_information'] = array [68](
  '#value' => variable_get [71]('contact_form_information', t [69]('You can leave us a message using the contact form below.')),
);
?>

item

Описание: Поле с неменяющимся значением, заголовком и описанием.

Примечание: так как это поле «только для чтения», установка параметра #required [38] повлияет только на вид этого поля (красная звездочка подле заголовка).

Параметры#attributes [21]#description [28]#prefix [37] (по-умолчанию: »), #required [38]#suffix [42] (по-умолчанию: »),#title [44]#type [5]#value [63]#weight [46]

Пример использования (contact.module [78]):

<?php
$form['from'] = array [68](
  '#type' => 'item',
  '#title' => t [69]('From'),
  '#value' => $user->name .' <'. $user->mail .'>',
);
?>

password

Описание: Однострочное текстовое поле, в котором символы отображаются звездочками.

Параметры#ahah [19]#attributes [21]#description [28]#maxlength [33] (по-умолчанию: 30), #prefix [37]#required [38]#size [41](по-умолчанию: 64), #suffix [42]#title [44]#type [5]#weight [46]

Пример использования (user.module [79]):

<?php
$form['pass'] = array [68](
  '#type' => 'password',
  '#title' => t [69]('Password'),
  '#maxlength' => 64,
  '#size' => 15,
);
?>

radio

Описание: Переключатель («круглая галочка»).

Параметры#ahah [19]#attributes [21]#default_value [26]#description [28]#prefix [37]#required [38]#suffix [42]#title [44]#type [5].#weight [46]

Пример использования:

N/A

radios

Описание: Группа переключателей.

Параметры#attributes [21]#default_value [26]#description [28]#options [35]#prefix [37]#required [38]#suffix [42]#title [44],#type [5]#weight [46]

Пример использования (comment.module [80]):

<?php
$form['posting_settings']['comment_preview'] = array [68](
  '#type' => 'radios',
  '#title' => t [69]('Preview comment'),
  '#default_value' => variable_get [71]('comment_preview', 1),
  '#options' => array [68](t [69]('Optional'), t [69]('Required')),
);
?>

select

Описание: Простой или выпадающий список.

Параметры#ahah [19]#attributes [21]#default_value [26]#description [28]#multiple [34]#options [35]#prefix [37]#required [38],#suffix [42]#title [44]#type [5]#weight [46]

Пример использования (system.module [80]):

<?php
$form['feed']['feed_item_length'] = array [68](
  '#type' => 'select',
  '#title' => t [69]('Display of XML feed items'),
  '#default_value' => variable_get [71]('feed_item_length','teaser'),
  '#options' => array [68](
    'title' => t [69]('Titles only'),
    'teaser' => t [69]('Titles plus teaser'),
    'fulltext' => t [69]('Full text'),
  ),
  '#description' => t [69]('Global setting for the length of XML feed items that are output by default.'),
);
?>

submit

Описание: Кнопка отправки формы.

Параметры#ahah [19]#attributes [21]#button_type [56] (по-умолчанию: ‘submit’), #executes_submit_callback [57] (по-умолчанию: TRUE), #name [65] (по-умолчанию: ‘op’), #prefix [37]#suffix [42]#type [5]#value [63]#weight [46]

Пример использования (locale.module [81]):

<?php
$form['submit'] = array [68]('#type' => 'submit', '#value' => t [69]('Import'));
?>

textarea

Описание: Многострочное текстовое поле.

Параметры#ahah [19]#attributes [21]#cols [25] (по-умолчанию: 60), #default_value [26]#description [28]#prefix [37],#required [38]#suffix [42]#title [44]#type [5]#rows [40] (по-умолчанию: 5), #weight [46]

Пример использования (forum.module [82]):

<?php
$form['body'] = array [68](
  '#type' => 'textarea',
  '#title' => t [69]('Body'),
  '#default_value' => $node->body,
  '#required' => TRUE
);
?>

textfield

Описание: Однострочное тестовое поле.

Параметры#ahah [19]#attributes [21]#autocomplete_path [22] (по-умолчанию: FALSE), #default_value [26],#description [28]#field_prefix [31]#field_suffix [32]#maxlength [33] (по-умолчанию: 128), #prefix [37]#required [38]#size [41] (по-умолчанию: 60), #suffix [42]#title [44]#type [5]#weight [46]

Пример использования (forum.module [82]):

<?php
$form['title'] = array [68](
  '#type' => 'textfield',
  '#title' => t [69]('Subject'),
  '#default_value' => $node->title,
  '#size' => 60,
  '#maxlength' => 128,
  '#required' => TRUE,
);
?>

value

Описание: Значение формы, используемое для внутренних целей. Внешне никак не отображается на форме.

Параметры#type [5]#value [63]

Пример использования (node.module [67]):

<?php
$form['vid'] = array [68]('#type' => 'value', '#value' => $node->vid);
?>

weight

Описание: Поле для выбора веса

Параметры#attributes [21]#delta [27] (по-умолчанию: 10), #default_value [26]#description [28]#prefix [37]#required [38],#suffix [42]#title [44]#type [5]#weight [46]

Пример использования (menu.module [83]):

<?php
$form['weight'] = array [68](
  '#type' => 'weight',
  '#title' => t [69]('Weight'),
  '#default_value' => $edit['weight'],
  '#delta' => 10,
  '#description' => t [69]('Optional. In the menu, the heavier items will sink and the lighter items will be positioned nearer the top.'),
);
?>

Параметры

#access

Описание: Будет ли элемент доступен на форме. Если равен FALSE, элемент не будет выведен на форме вообще.

Допустимые значенияTRUE или FALSE.

#action

Используется вform [50]

Описание: Адрес, на который будет отправлена форма (HTML аттрибут action).

Допустимые значения: Внутренний путь

Пример использования (comment.module [84]):

<?php
$form['#action'] = url [85]('comment/reply/'. $edit['nid']);
?>

#after_build

Массив названий функций, которые будут вызваны после построения формы (например, для обработки предпросмотра ноды).

Пример использования (system.module [80]):

<?php
$form['files']['file_directory_path'] = array [68](
  '#type' => 'textfield',
  '#title' => t [69]('File system path'),
  '#default_value' => file_directory_path [86](),
  '#maxlength' => 255,
  '#description' => t [69]('A file system path where the files will be stored. This directory has to exist and be writable by Drupal. If the download method is set to public this directory has to be relative to Drupal installation directory, and be accessible over the web. When download method is set to private this directory should not be accessible over the web. Changing this location after the site has been in use will cause problems so only change this setting on an existing site if you know what you are doing.'),
);
$form['#after_build'] = array [68]('system_check_directory');
...
function system_check_directory [87]($form, $form_element) {
  file_check_directory [88]($form_element['#value'], FILE_CREATE_DIRECTORY [89], $form_element['#parents'][0]);
  return $form_element;
}
?>

#ahah

Используется вbutton [47]checkbox [6]image button [48]password [11]radio [12]select [14]submit [49]textarea [15]textfield [16]

Массив, который определяет вид и поведение элемента с AHAH функциональностью.

Параметр #ahah обеспечивает AHAH [90] (Асинхронный HTML и HTTP) — родственный AJAX’у подходу для динамического обновления веб-страниц. AHAH прост и функционален — ответы сервера возвращают HTML код, который вcтавляется в нужное место страницы.

Корректная работа AHAH обеспечивается исполнением этих шагов:

  1. Друпал конструирует и выводит элемент с #ahah параметрами. К странице автоматически цепляется JavaScript файл misc/ahah.js.
  2. ahah.js ищет на странице все элементы, у которых выставлен параметр #ahah['path'] [91] и навешивает свой обработчик на событие #ahah['event'] [66] элемента.
  3. Когда происходит данное событие (напр. 'click'), обработчик отсылает запрос на путь, указанный в#ahah['path'] [91] (это путь из меню Друпала).
  4. Друпал генерирует HTML и отдает его этому запросу. Пока все это происходит, пользователь видит на форме прогресс-бар или анимированную иконку, что определяется в #ahah['progress'] [92].
  5. Когда ahah.js получает ответ от друпала, он вставляет возвращенный HTML в #ahah['wrapper'] [93]. Метод вставки результата на страницу определяется в #ahah['method'] [94].

#ahah['effect']

Описание: Определяет эффект, используемы для вставки контента из AHAH запроса.

Допустимые значения: Строка. Возможные значения: 'none' (по-умолчанию), 'fade''slide'. При установленной JQuery библиотеке Interface elements [95], любые эффекты с названием effectToggle могут быть также использованы.

Пример использования (poll.module [96]):

<?php
  $form['choice_wrapper']['poll_more'] = array [68](
    '#type' => 'submit',
    '#value' => t [69]('More choices'),
    '#description' => t [69]("If the amount of boxes above isn't enough, click here to add more choices."),
    '#weight' => 1,
    '#submit' => array [68]('poll_more_choices_submit'), // If no javascript action.
    '#ahah' => array [68](
      'path' => 'poll/js',
      'wrapper' => 'poll-choices',
      'method' => 'replace',
      'effect' => 'fade',
    ),
?>

#ahah['event']

Описание: Когда это событие происходит, Друпал отправляет HTTP запрос посредством JavaScript к пути, указанному в #ahah['path'].

Допустимые значения: Строка. Возможные значения: 'click''blur''change'. Имейте в виду, что#ahah['event'] не обязательно заполнять, так как каждому элементу присваивается свое событие по-умолчанию [3].

#ahah['method']

Описание: Определяет метод вставки возвращенного запросом HTML кода в селекторе #ahah_wrapper [93]. Если ничего не выставлено, возвращенный HTML просто заменяет содержание элемента с аттрибутом idравным #ahah_wrapper [93]. Кроме того, можно использовать любые методы операций с DOM в JQuery [97].

Допустимые значения: Строка. Возможные значения: 'replace' (по-умолчанию), 'after''append','before''prepend'.

#ahah['path']

Описание: Если выставлен, параметр включает AHAH-поведение элемента. Значение этого параметра — друпаловский путь, с коллбэк-функцией, генерирующей HTML код и возвращающей этот код Друпалу. Результат будет помещен в место на странице, которое соответствует селектору #ahah['wrapper'] [93].

Допустимые значения: Строка, содержащая путь в меню Друпала.

Пример использования (upload.module [76]):

<?php
/**
* Implementation of hook_menu().
*/
function upload_menu [98]() {
  $items['upload/js'] = array [68](
    'page callback' => 'upload_js',
    'access arguments' => array [68]('upload files'),
    'type' => MENU_CALLBACK [99],
  );
  ...
  return $items;
}
...
function _upload_form [100]($node) {
  ...
    $form['new']['attach'] = array [68](
      '#type' => 'submit',
      '#value' => t [69]('Attach'),
      '#name' => 'attach',
      '#ahah' => array [68](
        'path' => 'upload/js',
        'wrapper' => 'attach-wrapper',
        'progress' => array [68]('type' => 'bar', 'message' => t [69]('Please wait...')),
      ),
      '#submit' => array [68]('node_form_submit_build_node'),
    );
  ...
return $form;
?>

В этом примере #ahah['path'] заполнено путем 'upload/js', который определяется в этом же модуле (upload_menu [98]). При обращении к 'upload/js', будет выполнена функция upload_js [101], которая сгенерирует HTML и возвратит его запрашивающей странице.

#ahah['progress']

Описание: Выбирает прогресс-бар или анимированную иконку (опционально, текст), которые будут показываться во время ожидания ответа от AHAH запроса.

Допустимые значения: Массив.

 

Возможные ключи массива: 'type''message''url''interval'.

Возможные значения:

  • #ahah['progress']['type'] Строка. Возможные значения: 'throbber' (по-умолчанию), 'bar'.
  • #ahah['progress']['message'] Строка. Опциональное сообщение; должно быть пропущено через t() [69].
  • #ahah['progress']['url'] Строка. Опциональный коллбэк для выяснения позиции прогресс-бара (по описанию из progress.js). Используется если 'type' равен 'progress'.
  • #ahah['progress']['interval'] Строка. Интервал запросов обновления прогресс-бара (по описанию из progress.js). Используется если установлен 'url' и 'type' равен 'progress'.

Пример использования: см. выше пример из upload.module [91]

#ahah['wrapper']

Описание: Этот параметр определяет значение HTML аттрибута id, в элемент с которым (обычно <div>), будет вставлен результат AHAH запроса.

Допустимые значения: Строка, содержащая аттрибут id HTML элемента, который находится на данной странице.

Пример использования (upload.module [76]):

<?php
  $form['new']['attach'] = array [68](
    '#type' => 'submit',
    '#value' => t [69]('Attach'),
    '#name' => 'attach',
    '#ahah' => array [68](
      'path' => 'upload/js',
      'wrapper' => 'attach-wrapper',
      'progress' => array [68]('type' => 'bar', 'message' => t [69]('Please wait...')),
    ),
    '#submit' => array [68]('node_form_submit_build_node'),
  );
?>

#attributes

Используется вbutton [47]checkbox [6]checkboxes [7]date [8]fieldset [9]file [10]form [50]markup [52]password [11]radio [12]radios [13],select [14]submit [49]textarea [15]textfield [16]weight [17]

Описание: Используется для установки дополнительных HTML-атрибутов, таких как "class".

Допустимые значения: Любые HTML атрибуты, которые не затрагиваются остальными параметрами (class (для элементов), enctype (для форм)).

Пример использования (search.module [102]):

<?php
$form['#attributes'] = array [68]('class' => 'search-form');
?>

#autocomplete_path

Используется вtextfield [16]

Описание: Путь к AJAX обработчику, выводящему варианты автозаполнения.

Пример использования (node.module [67]):

<?php
$form['author']['name'] = array [68](
  '#type' => 'textfield',
  '#title' => t [69]('Authored by'),
  '#maxlength' => 60,
  '#autocomplete_path' => 'user/autocomplete',
  '#default_value' => $node->name,
  '#weight' => -1,
);
?>

#built

Используется вform [50]

Описание: Используется для определения, построена форма или нет.

Допустимые значенияTRUE или FALSE

Пример использования: ДЛЯ ВНУТРЕННЕГО ИСПОЛЬЗОВАНИЯ. См. функцию _form_builder [103] вform.inc [104].

#button_type

Используется вbutton [47]submit [49]

Описание: Устанавливает CSS класс кнопки (form-button_type)

Допустимые значения: submit, ???

Пример использования: (system.module [80]):

<?php
$type['submit'] = array [68](
  '#input' => TRUE,
  '#name' => 'op',
  '#button_type' => 'submit',
  '#submit' => TRUE,
);
?>

#collapsed

Используется вfieldset [9]

Описание: Указывает будет ли развернута группа элементов по-умолчанию. Смотрите также параметр#collapsible [24].

Допустимые значенияTRUE или FALSE

Пример использования (block.module [77]) :

<?php
$form['block'] = array [68](
  '#type' => 'fieldset',
  '#title' => t [69]('Block configuration'),
  '#weight' => 3,
  '#collapsible' => TRUE,
  '#collapsed' => FALSE,
  '#tree' => TRUE,
);
?>

#collapsible

Используется вfieldset [9]

Описание: Задает возможность группе сворачиваться при помощи JavaScript. Смотрите также параметр#collapsed [23].

Допустимые значенияTRUE или FALSE

Пример использования (block.module [77]):

<?php
$form['block'] = array [68](
  '#type' => 'fieldset',
  '#title' => t [69]('Block configuration'),
  '#weight' => 3,
  '#collapsible' => TRUE,
  '#collapsed' => FALSE,
  '#tree' => TRUE,
);
?>

#cols

Используется вtextarea [15]

Описание: Определяет количество колонок в текстовом поле (смотрите также параметр #rows [40])

Допустимое значение: Положительное число

Пример использования (aggregator.module [105]):

<?php
$form['description'] = array [68](
  '#type' => 'textarea',
  '#title' => t [69]('Description'),
  '#default_value' => $edit['description'],
  '#cols' => 60,
  '#rows' => 5,
);
?>

#default_value

Используется вbutton [47]checkbox [6]checkboxes [7]date [8]file [10]markup [52]password [11]radio [12]radios [13]select [14]submit [49],textarea [15]textfield [16]weight [17]

Описание: Значение поля по-умолчанию. Не путать с #value [63]!

.

Допустимые значения: Разные

Допустимые значения: Mixed

Пример использования (forum.module [82]):

<?php
$form['body'] = array [68](
  '#type' => 'textarea',
  '#title' => t [69]('Body'),
  '#default_value' => $node->body,
  '#required' => TRUE,
);
?>

#delta

Используется вweight [17]

Описание: Число весов, из которых можно выбирать в поле выбора весов. К примеру, если $delta => 10, в поле выбора весов будут значения от -10 до 10.

Допустимое значение: Положительное число

Пример использования (menu.module [83]):

<?php
$form['weight'] = array [68](
  '#type' => 'weight',
  '#title' => t [69]('Weight'),
  '#default_value' => $edit['weight'],
  '#delta' => 10,
  '#description' => t [69]('Optional. In the menu, the heavier items will sink and the lighter items will be positioned nearer the top.'),
);
?>

#description

Используется вcheckbox [6]checkboxes [7]date [8]fieldset [9]file [10]markup [52]password [11]radio [12]radios [13]select [14]textarea [15],textfield [16]weight [17]

Описание: Текстовое описание или подсказка к элементу формы. Настоятельно рекомендуется сперва помещать эти значения в функцию t [69]() для того, чтобы не терять возможности локализации формы.

Допустимые значения: Разные

Пример использования (menu.module [83]):

<?php
$form['weight'] = array [68](
  '#type' => 'weight',
  '#title' => t [69]('Weight'),
  '#default_value' => $edit['weight'],
  '#delta' => 10,
  '#description' => t [69]('Optional. In the menu, the heavier items will sink and the lighter items will be positioned nearer the top.'),
);
?>

#disabled

Используется вcheckbox [6]checkboxes [7]date [8]file [10]password [11]radio [12]radios [13]select [14]textarea [15]textfield [16]weight [17]

Описание: Выключает (дизактивирует) элемент формы.

Допустимые значенияTRUE или FALSE

Пример использования (system.module [80]):

<?php
      if (isset [106]($disabled[$name])) {
        $form['theme_settings'][$name]['#disabled'] = TRUE;
      }
?>

#element_validate

Используется в: любых элементах

Описание: Массив функций валидации значения элемента. Эти функции должны вызывать form_error() [107]или form_set_error() [108] если поле не проходит валидацию.

Допустимые значения: Массив названий функций.

Эти функции должны принимать в параметрах сам элемент и состояние формы:

function myelement_validate($element, &$form_state) {
   if (empty [109]($element['#value']) {
     form_error [107]($element, t [69]('This field is required.'));
   }
}

Пример использования (filter.module [110]):

<?php
  if (count [111]($formats) > 1) {
    $form = array [68](
      '#type' => 'fieldset',
      '#title' => t [69]('Input format'),
      '#collapsible' => TRUE,
      '#collapsed' => TRUE,
      '#weight' => $weight,
      '#element_validate' => array [68]('filter_form_validate'),
    );
   ...
?>

#error

INTERNAL. Indicates whether or not a form element has been flagged as having an error.

#executes_submit_callback

Используется вbutton [47]submit [49]image_button [48]

Описание: Определяет, будет ли кнопка отправлять форму на submit-обработчик.

Допустимые значенияTRUE или FALSE

#id

ДЛЯ ВНУТРЕННЕГО ИСПОЛЬЗОВАНИЯ. Устаналивает HTML аттрибут id элемента.

#input

ДЛЯ ВНУТРЕННЕГО ИСПОЛЬЗОВАНИЯ. Определяет, возможен ли пользовательский ввод данных в элементе.

#field_prefix

Используется вtextfield [16]

Описание: Текст или код, который помещается прямо перед текстовым полем.

Допустимые значения: Разные

Пример использования (system.module [80]):

<?php
$form['site_403'] = array [68](
  '#type' => 'textfield',
  '#title' => t [69]('Default 403 (access denied) page'),
  '#default_value' => variable_get [71]('site_403', ''),
  '#size' => 40,
  '#description' => t [69]('This page is displayed when the requested document is denied to the current user. If unsure, specify nothing.'),
  '#field_prefix' => url [85](NULL, NULL, NULL, TRUE) . (variable_get [71]('clean_url', 0) ? '' : '?q=')
);
?>

#field_suffix

Используется вtextfield [16]

Описание: Текст или код, который помещается сразу за текстовым полем.

Допустимые значения: Разные

Пример использования (system.module [76]):

<?php
$form['settings_general']['upload_usersize_default'] = array [68](
  '#type' => 'textfield',
  '#title' => t [69]('Default total file size per user'),
  '#default_value' => $upload_usersize_default,
  '#size' => 5,
  '#maxlength' => 5,
  '#description' => t [69]('The default maximum size of all files a user can have on the site.'),
  '#field_suffix' => t [69]('MB')
);
?>

#maxlength

Используется вtextfield [16]

Описание: Максимальное количество символов, которые сможет принять текстовое поле.

Допустимое значение: Положительное число

Пример использования (forum.module [82]):

<?php
$form['title'] = array [68](
  '#type' => 'textfield',
  '#title' => t [69]('Subject'),
  '#default_value' => $node->title,
  '#size' => 60,
  '#maxlength' => 128,
  '#required' => TRUE,
);
?>

#method

Используется вform [50]

Описание: Метод отправки формы (HTML аттрибут формы method).

Допустимые значенияGET или POST. По-умолчанию — POST.

Пример использования (node.module [67]):

<?php
$form['#method'] = 'post';
?>

#multiple

Используется вselect [14]

Описание: Определяет возможность выбора более одого значения в элементе.

Допустимые значенияTRUE или FALSE

Пример использования (taxonomy.module [112]):

<?php
return array [68](
  '#type' => 'select',
  '#title' => $title,
  '#default_value' => $value,
  '#options' => $options,
  '#description' => $description,
  '#multiple' => $multiple,
  '#size' => $multiple ? min [113](12, count [111]($options)) : 0,
  '#weight' => -15,
);
?>

#name

ДЛЯ ВНУТРЕННЕГО ИСПОЛЬЗОВАНИЯ. Устаналивает HTML аттрибут name элемента.

#options

Используется вcheckboxes [7]radios [13]select [14]

Описание: Варианты выбора в списках (выпадающих, обычных, а также списках чекбоксов и переключателей).

Допустимые значения: Массив вида array [68](t [69]('Значение 1'), t [69]('Значение 2')) или array [68]('return_value1' =>t [69]('Значение 1'), 'return_value2' => t [69]('Значение 2')) если элемент должен возвращать определенные значения.

Пример использования (comment.module [84]):

<?php
$form['posting_settings']['comment_preview'] = array [68](
  '#type' => 'radios',
  '#title' => t [69]('Preview comment'),
  '#default_value' => variable_get [71]('comment_preview', 1),
  '#options' => array [68](t [69]('Optional'), t [69]('Required')),
);
?>

#parents

Используется в: All

Описание: Определяет «родителя» элемента. Смотрите статью#tree and #parents [114] для получения деталей.

Допустимые значения: Массив имен элементов.

Пример использования (comment.module [84]):

<?php
$form['admin']['status'] = array [68](
  '#type' => 'radios',
  '#parents' => array [68]('status'),
  '#title' => t [69]('Status'),
  '#default_value' => $status,
  '#options' => array [68](t [69]('Published'), t [69]('Not published')),
  '#weight' => -1,
);
?>

#prefix

Используется вbutton [47]checkbox [6]checkboxes [7]date [8]fieldset [9]file [10]form [50]hidden [51]markup [52]password [11]radio [12],radios [13]select [14]submit [49]textarea [15]textfield [16]weight [17]

Описание: Текст или код, который отобразится перед элементом. Смотрите также #suffix [42].

Допустимые значения: Разные

Пример использования (poll.module [96]):

<?php
$form['choice'] = array [68](
  '#type' => 'fieldset',
  '#title' => t [69]('Choices'),
  '#prefix' => '<div>',
  '#suffix' => '</div>',
  '#tree' => TRUE,
);
?>

#printed

ДЛЯ ВНУТРЕННЕГО ИСПОЛЬЗОВАНИЯ. Определяет, отрисован ли элемент уже.

#process

Описание: Массив функций (каждая вместе с массивом аргументов), которые будут вызваны при процессинге (обработке) формы. Часто используется для <a href="#ahah">#ahah</a> обработчиков. Используя этот параметр, модули могут навешивать дополнительные действия над элементом, например, тип «radios» расширяется дополнительными переключателями, используя функции процессинга.

Допустимые значения: Массив масивов

Пример использования (system.module [80]) в <a href="/api/function/system_elements/6">system_elements()</a>:

<?php
$type['radios'] = array [68](
  '#input' => TRUE,
  '#process' => array [68]('expand_radios' => array [68]())
);
?>

В этом примере, вызывается без аргументов функция <a href="/api/function/expand_radios/6">expand_radios()</a>. Эта функция добавляет новые элементы типа radioпосредством добавления значений в массив #options обрабатываемого элемента (radios).

#processed

ДЛЯ ВНУТРЕННЕГО ИСПОЛЬЗОВАНИЯ. Определяет, обработана ли форма или элемент.

#redirect

Используется вform [50]

Описание: Адрес, на который попадает пользователь после обработки формы. Это значение по-умолчанию возвращается обработчиком формы (начиная с шестого Друпала, в $form_state['redirect']), но вы можете задавать произвольное значение используя параметр #redirect [59] в hook_form_alter [115](). Смотрите также #action [55].

p>Допустимые значения: Внутренний путь или массив аргументов для функции url [85](). параметр также может быть установлен в FALSE, что приведет к отмене редиректа после обработки формы.

 

Пример использования (locale.inc [116]):

<?php
$form['#redirect'] = 'node';
?> 
<?php
$form['#redirect'] = array [68]('user/login', 'destination=node');
?>
<?php
$form['#redirect'] = FALSE;
?>

#required

Используется вcheckbox [6]checkboxes [7]date [8]file [10]password [11]radio [12]radios [13]select [14]textarea [15]textfield [16]weight [17]

Описание: Определяет обязательность элемента. Если параметр выставлен, то при валидации формы, элемент автоматически проверяется на пустое значение. Поля загрузки файлов не могут быть обязательными.

Допустимые значенияTRUE или FALSE

Пример использования (forum.module [82]):

<?php
$form['title'] = array [68](
  '#type' => 'textfield',
  '#title' => t [69]('Subject'),
  '#default_value' => $node->title,
  '#size' => 60,
  '#maxlength' => 128,
  '#required' => TRUE,
);
?>

#return_value

Используется вcheckbox [6]checkboxes [7]radio [12]radios [13]

Описание: Значение, которое должен возвращать элемент, когда выбран.

Допустимые значения: Разные

Пример использования (poll.module [96]):

<?php
$form['morechoices'] = array [68](
  '#type' => 'checkbox',
  '#title' => t [69]('Need more choices'),
  '#return_value' => 1,
  '#default_value' => 0,
  '#description' => t [69]("If the amount of boxes above isn't enough, check this box and click the Preview button below to add some more."),
);
?>

Let’s make this remark short: #

#rows

Используется вtextarea [15]

Описание: Определяет количество колонок в текстовом поле (смотрите также параметр #cols [25])

Допустимое значение: Положительное число

Пример использования (aggregator.module [105]):

<?php
$form['description'] = array [68](
  '#type' => 'textarea',
  '#title' => t [69]('Description'),
  '#default_value' => $edit['description'],
  '#cols' => 60,
  '#rows' => 5,
);
?>

#size

Используется вselect [14]textfield [16]

Описание: Ширина текстового поля (в символах) или высота списка (в строках).

Допустимое значение: Положительное число

Пример использования (comment.module [84]):

<?php
        $form['admin']['homepage'] = array [68](
          '#type' => 'textfield',
          '#title' => t [69]('Homepage'),
          '#maxlength' => 255,
          '#size' => 30,
          '#default_value' => $edit['homepage'],
        );
?>

#src

Используется вimage_button [48]

Описание: URL картинки кнопки.

Допустимые значения: An URL.

#submit

Используется вform [117]button [47]submit [49]image_button [48]

Описание: Задает массив названий функций, которые выполняются при отправке всей формы или отправке формы определенной кнопкой.

Допустимые значения: Массив имен функций

Пример использования (menu.module [83]) (для всей формы):

<?php
function menu_form_alter [118](&$form, $form_state, $form_id) {
   ...
    $form['menu']['parent'] = array [68](
      '#type' => 'select',
      '#title' => t [69]('Parent item'),
      '#default_value' => $default,
      '#options' => $options,
      '#attributes' => array [68]('class' => 'menu-title-select'),
    );
    $form['#submit'][] = 'menu_node_form_submit';
}
?>

Пример использования (menu.module [119]) (определенная кнопка):

<?php
    $form['menu_name'] = array [68]('#type' => 'value', '#value' => $menu['menu_name']);
    $form['#insert'] = FALSE;
    $form['delete'] = array [68](
      '#type' => 'submit',
      '#value' => t [69]('Delete'),
      '#access' => !in_array [120]($menu['menu_name'], menu_list_system_menus [121]()),
      '#submit' => array [68]('menu_custom_delete_submit'),
      '#weight' => 10,
    );
?>

#suffix

Используется вbutton [47]checkbox [6]checkboxes [7]date [8]fieldset [9]file [10]form [50]hidden [51]markup [52]password [11]radio [12],radios [13]select [14]submit [49]textarea [15]textfield [16]weight [17]

Описание: Текст или код, который отобразится после элемента. Смотрите также #prefix [37].

Допустимые значения: Разные

Пример использования (poll.module [96]):

<?php
$form['choice'] = array [68](
  '#type' => 'fieldset',
  '#title' => t [69]('Choices'),
  '#prefix' => '<div>',
  '#suffix' => '</div>',
  '#tree' => TRUE,
);
?>

#theme

Используется вbutton [47]checkbox [6]checkboxes [7]date [8]fieldset [9]file [10]form [50]hidden [51]markup [52]password [11]radio [12],radios [13]select [14]submit [49]textarea [15]textfield [16]

Описание: Функция темизации элемента.

Допустимые значения: Имя функции темизации элемента без theme_.

Пример использования (upload.module [76]):

<?php
$form['#theme'] = 'upload_form_new';
?>

#title

Используется вcheckbox [6]checkboxes [7]fieldset [9]date [8]file [10]password [11]radio [12]radios [13]select [14]textarea [15]textfield [16],weight [17]

Описание: Заголовок элемента. Крайне рекомендуется сперва помещать эти значения в функцию t [69]() для того, чтобы не терять возможности локализации формы.

Допустимые значения: Разные

Пример использования (aggregator.module [105]):

<?php
$form['description'] = array [68](
  '#type' => 'textarea',
  '#title' => t [69]('Description'),
  '#default_value' => $edit['description'],
  '#cols' => 60,
  '#rows' => 5,
);
?>

#tree

Используется вbutton [47]checkbox [6]checkboxes [7]date [8]fieldset [9]file [10]form [50]hidden [51]markup [52]password [11]radio [12],radios [13]select [14]submit [49]textarea [15]textfield [16]weight [17]

Описание: Обеспечивает создание коллекций элементов. Чаще всего используется к «родительскому элементу» (у которгого выставлен параметр #parent). Смотрите статью #tree and #parents [114] для подробного разбора работы этого параметра.

Допустимые значенияTRUE или FALSE

Пример использования (system.module [80]):

<?php
$form['status'] = array [68](
  '#type' => 'checkboxes',
  '#default_value' => $status,
  '#options' => $options,
  '#tree' => TRUE,
);
$required = array [68]('block', 'filter', 'system', 'user', 'watchdog');
foreach ($required as $require) {
  $form['status'][$require] = array [68](
    '#type' => 'hidden',
    '#value' => 1,
    '#suffix' => t [69]('required'),
  );
}
?>

#type

Используется в: All

Описание: Определяет тип элемента формы.

Допустимые значенияbutton [47]checkbox [6]checkboxes [7]date [8]fieldset [9]file [10]form [50]hidden [51]markup [52]password [11],radio [12]radios [13]select [14]submit [49]textarea [15]textfield [16]value [54]weight [17]

Пример использования (locale.module [81]):

<?php
$form['submit'] = array [68]('#type' => 'submit', '#value' => t [69]('Import'));
?>

#validate

Используется вbutton [47]form [50]submit [49]image_button [48]

Описание: Список функций валидации, которые должна пройти форма или элемент перед submit-обработчиком. Используется для навешивания дополнительных проверок, или для использования своей функции вместо стандартной FROM_ID_validate.

Допустимые значения: Массив названий функций. Каждая функция должна принимать $form и$form_state в своих параметрах и использовать form_set_error [108](), если форма не проходит валидацию, например:

<?php
function test_form_validate($form, &$form_state) {
  if ($form_state['values']['name'] == '') {
    form_set_error [108]('name', t [69]('You must select a name for this group of settings.'));
  }
}
?>

Пример использования (node.module [67]):

<?php
    // Node types:
    $types = array_map [122]('check_plain', node_get_types [123]('names'));
    $form['advanced']['type'] = array [68](
      '#type' => 'checkboxes',
      '#title' => t [69]('Only of the type(s)'),
      '#prefix' => '<div>',
      '#suffix' => '</div>',
      '#options' => $types,
    );
    $form['advanced']['submit'] = array [68](
      '#type' => 'submit',
      '#value' => t [69]('Advanced search'),
      '#prefix' => '<div>',
      '#suffix' => '</div>',
    );
    $form['#validate'][] = 'node_search_validate';
?>

#validation_arguments

ДЛЯ ВНУТРЕННЕГО ИСПОЛЬЗОВАНИЯ.

#value

Используется вbutton [47]hidden [51]image_button [48]item [53]markup [52]submit [49]value [54]

Описание: Используется для установки значений, которые не могут быть изменены пользователем. Не путать с #default_value [26], которое всего лишь устанавливает значение по-умолчанию.

Допустимые значения: Разные

Пример использования (locale.module [81]):

<?php
$form['submit'] = array [68]('#type' => 'submit', '#value' => t [69]('Import'));
?>

#weight

Используется вbutton [47]checkbox [6]checkboxes [7]date [8]fieldset [9]file [10]markup [52]password [11]radio [12]radios [13]select [14],submit [49]textarea [15]textfield [16]weight [17]

Описание: Используется для сортировки списка элементов. Элементы с меньшим весом появляются на форме выше.

Допустимые значения: Положительные или отрицательные числа (целые или дробные)

Пример использования (book.module [124]):

<?php
$form['parent'] = array [68](
  '#type' => 'select',
  '#title' => t [69]('Parent'),
  '#default_value' => ($node->parent ? $node->parent : arg [125](4)),
  '#options' => book_toc [126]($node->nid),
  '#weight' => -15,
  '#description' => t [69]('The parent that this page belongs in. Note that pages whose parent is <top-level> are regarded as independent, top-level books.'),
);
?>
Источник: <a href="http://drupal.ru" target="_blank">drupal.ru</a>

Article printed from Все для CMS | Joomla, Drupal, phpBB, Wordpress, DLE, IPB: http://cmsart.ru

URL to article: http://cmsart.ru/drupal/drupal-docs/drupal-api/spravochnik-forms-api

URLs in this post:

[1] быстрого введения в Forms API: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api.html/6

[2] параметрам: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#properties

[3] значениям по-умолчанию: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#element_default_values

[4] элементам: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#elements

[5] #type: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#type

[6] checkbox: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#checkbox

[7] checkboxes: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#checkboxes

[8] date: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#date

[9] fieldset: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#fieldset

[10] file: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#file

[11] password: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#password

[12] radio: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#radio

[13] radios: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#radios

[14] select: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#select

[15] textarea: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#textarea

[16] textfield: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#textfield

[17] weight: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#weight

[18] #access: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#access

[19] #ahah: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#ahah

[20] #after_build: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#after_build

[21] #attributes: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#attributes

[22] #autocomplete_path: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#autocomplete_path

[23] #collapsed: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#collapsed

[24] #collapsible: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#collapsible

[25] #cols: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#cols

[26] #default_value: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#default_value

[27] #delta: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#delta

[28] #description: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#description

[29] #disabled: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#disabled

[30] #element_validate: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#element_validate

[31] #field_prefix: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#field_prefix

[32] #field_suffix: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#field_suffix

[33] #maxlength: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#maxlength

[34] #multiple: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#multiple

[35] #options: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#options

[36] #parents: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#parents

[37] #prefix: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#prefix

[38] #required: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#required

[39] #return_value: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#return_value

[40] #rows: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#rows

[41] #size: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#size

[42] #suffix: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#suffix

[43] #theme: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#theme

[44] #title: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#title

[45] #tree: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#tree

[46] #weight: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#weightval

[47] button: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#button

[48] image_button: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#image_button

[49] submit: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#submit

[50] form: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#form

[51] hidden: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#hidden

[52] markup: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#markup

[53] item: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#item

[54] value: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#val

[55] #action: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#action

[56] #button_type: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#button_type

[57] #executes_submit_callback: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#executes_submit_callback

[58] #method: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#method

[59] #redirect: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#redirect

[60] #src: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#src

[61] #submit: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6##submit

[62] #validate: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#validate

[63] #value: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#value

[64] system_elements(): http://cmsart.ru/goto/http://api.drupal.ru/api/function/system_elements/6

[65] #name: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#name

[66] #ahah['event']: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#ahah_event

[67] node.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/node/node.module/6

[68] array: http://cmsart.ru/goto/http://www.php.net/array

[69] t: http://cmsart.ru/goto/http://api.drupal.ru/api/function/t/6

[70] contact.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/contact/contact.module/6

[71] variable_get: http://cmsart.ru/goto/http://api.drupal.ru/api/function/variable_get/6

[72] profile.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/profile/profile.module/6

[73] check_plain: http://cmsart.ru/goto/http://api.drupal.ru/api/function/check_plain/6

[74] _profile_form_explanation: http://cmsart.ru/goto/http://api.drupal.ru/api/function/_profile_form_explanation/6

[75] http://drupal.org/node/111782: http://cmsart.ru/goto/http://drupal.org/node/111782

[76] upload.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/upload/upload.module/6

[77] block.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/block/block.module/6

[78] contact.module: http://cmsart.ru/goto/http://api.drupal.ru/api/head/file/modules/contact.module/6

[79] user.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/user/user.module/6

[80] comment.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/system/system.module/6

[81] locale.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/locale/locale.module/6

[82] forum.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/forum/forum.module/6

[83] menu.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/menu/menu.module/6

[84] comment.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/comment/comment.module/6

[85] url: http://cmsart.ru/goto/http://api.drupal.ru/api/function/url/6

[86] file_directory_path: http://cmsart.ru/goto/http://api.drupal.ru/api/function/file_directory_path/6

[87] system_check_directory: http://cmsart.ru/goto/http://api.drupal.ru/api/function/system_check_directory/6

[88] file_check_directory: http://cmsart.ru/goto/http://api.drupal.ru/api/function/file_check_directory/6

[89] FILE_CREATE_DIRECTORY: http://cmsart.ru/goto/http://api.drupal.ru/api/constant/FILE_CREATE_DIRECTORY/6

[90] AHAH: http://cmsart.ru/goto/http://en.wikipedia.org/wiki/AHAH

[91] #ahah['path']: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#ahah_path

[92] #ahah['progress']: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#ahah_progress

[93] #ahah['wrapper']: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#ahah_wrapper

[94] #ahah['method']: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6#ahah_method

[95] Interface elements: http://cmsart.ru/goto/http://interface.eyecon.ro/

[96] poll.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/poll/poll.module/6

[97] методы операций с DOM в JQuery: http://cmsart.ru/goto/http://docs.jquery.com/DOM/Manipulation

[98] upload_menu: http://cmsart.ru/goto/http://api.drupal.ru/api/function/upload_menu/6

[99] MENU_CALLBACK: http://cmsart.ru/goto/http://api.drupal.ru/api/constant/MENU_CALLBACK/6

[100] _upload_form: http://cmsart.ru/goto/http://api.drupal.ru/api/function/_upload_form/6

[101] upload_js: http://cmsart.ru/goto/http://api.drupal.ru/api/function/upload_js/6

[102] search.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/search/search.module/6

[103] _form_builder: http://cmsart.ru/goto/http://api.drupal.ru/api/function/_form_builder/6

[104] form.inc: http://cmsart.ru/goto/http://api.drupal.ru/api/file/includes/form.inc/6

[105] aggregator.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/aggregator/aggregator.module/6

[106] isset: http://cmsart.ru/goto/http://www.php.net/isset

[107] form_error(): http://cmsart.ru/goto/http://api.drupal.ru/api/function/form_error/6

[108] form_set_error(): http://cmsart.ru/goto/http://api.drupal.ru/api/function/form_set_error/6

[109] empty: http://cmsart.ru/goto/http://www.php.net/empty

[110] filter.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/filter/filter.module/6

[111] count: http://cmsart.ru/goto/http://www.php.net/count

[112] taxonomy.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/taxonomy/taxonomy.module/6

[113] min: http://cmsart.ru/goto/http://www.php.net/min

[114] #tree and #parents: http://cmsart.ru/goto/http://drupal.org/node/48643

[115] hook_form_alter: http://cmsart.ru/goto/http://api.drupal.ru/api/function/hook_form_alter/6

[116] locale.inc: http://cmsart.ru/goto/http://api.drupal.ru/api/file/includes/locale.inc/6

[117] form: http://cmsart.ru/goto/http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/$form

[118] menu_form_alter: http://cmsart.ru/goto/http://api.drupal.ru/api/function/menu_form_alter/6

[119] menu.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/menu/menu.admin.inc/6

[120] in_array: http://cmsart.ru/goto/http://www.php.net/in_array

[121] menu_list_system_menus: http://cmsart.ru/goto/http://api.drupal.ru/api/function/menu_list_system_menus/6

[122] array_map: http://cmsart.ru/goto/http://www.php.net/array_map

[123] node_get_types: http://cmsart.ru/goto/http://api.drupal.ru/api/function/node_get_types/6

[124] book.module: http://cmsart.ru/goto/http://api.drupal.ru/api/file/modules/book/book.module/6

[125] arg: http://cmsart.ru/goto/http://api.drupal.ru/api/function/arg/6

[126] book_toc: http://cmsart.ru/goto/http://api.drupal.ru/api/function/book_toc/6

Copyright © 2012 Поддержка CMS | Документация, статьи по Joomla, Drupal, phpBB. All rights reserved.