theme_textfield
includes/form.inc, строка 1407
- Версии
- 5 – 6
theme_textfield($element)
Форматирует однострочное текстовое поле ввода.
Параметры
$element
Ассоциативный массив, содержащий свойства элемента.
Основные свойства:
'#name'
- машинное имя;'#required'
- обязательно для ввода;'#title'
- заголовок;'#description'
- описание;'#default_value'
- исходное значение;'#size'
- длина поля ввода.
Используемые свойства:
'#attributes'
, '#autocomplete_path'
(по-умолчанию: FALSE
), '#default_value'
, '#description'
, '#field_prefix'
, '#field_suffix'
, '#maxlength'
(по умолчанию: 128), '#name'
, '#prefix'
, '#required'
(по-умолчанию: FALSE
), '#size'
(по-умолчанию: 60), '#suffix'
, '#title'
, '#type'
, '#weight'
.
Возвращаемое значение
Темизированный HTML-код, представляющий однострочное текстовое поле ввода для формы.
См. также
Справочник Forms APIСвязанные темы
Код
<?php
function theme_textfield($element) {
$size = $element['#size'] ? ' size="' . $element['#size'] . '"' : '';
$class = array('form-text');
$extra = '';
$output = '';
if ($element['#autocomplete_path']) {
drupal_add_js('misc/autocomplete.js');
$class[] = 'form-autocomplete';
$extra = '<input class="autocomplete" type="hidden" id="'. $element['#id'] .'-autocomplete" value="'. check_url(url($element['#autocomplete_path'], NULL, NULL, TRUE)) .'" disabled="disabled" />';
}
_form_set_class($element, $class);
if (isset($element['#field_prefix'])) {
$output .= '<span class="field-prefix">'. $element['#field_prefix'] .'</span> ';
}
$output .= '<input type="text" maxlength="'. $element['#maxlength'] .'" name="'. $element['#name'] .'" id="'. $element['#id'] .'" '. $size .' value="'. check_plain($element['#value']) .'"'. drupal_attributes($element['#attributes']) .' />';
if (isset($element['#field_suffix'])) {
$output .= ' <span class="field-suffix">'. $element['#field_suffix'] .'</span>';
}
return theme('form_element', $element, $output). $extra;
}
?>
ВНИМАНИЕ: Только что заметил, что код здесь не совпадает с theme_textfield для drupal 6.20
У меня из-за этого были траблы с Keyword autocomplete.