Подумаем о юзабилити списков в формах

Главные вкладки

Аватар пользователя Химический Али Химический Али 27 февраля 2009 в 16:13

Анонсирован очень интересный модуль, повышающий удобство работы со списками путем расширения Form API.

Модуль Select (or other) позволяет внедрять в формы, создаваемые с помощью Drupal, расширенный элемент управления типа «список», в котором есть обособленный пункт «другое». Пользователь может выбрать значение из предложенных или кликнуть «другое» и задать свое значение путем ввода в обычное текстовое поле.

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

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

<?php
$form
['my_field'] = array(
  
'#type' => 'select_or_other',
  
'#title' => t('Выберите значение'),
  
'#default_value' => array('value_1'),
  
'#multiple' => TRUE,
  
'#options' => array(
    
'value_1' => t('Первое'),
    
'value_2' => t('Второе'),
    
'value_3' => t('Третье'),
  ),
  
'#other' => t('Другое (ввести вручную)'),   // Текст для показа в пункте 'другое' 
  
'#required' => TRUE,
  
'#multiple' => FALSE,
  
'#other_unknown_defaults' => 'другое',
  
'#other_delimiter' => ', '
);
?>

Кроме того, удобно иметь такой список при выборе категорий новостей или других материалов, если перекрыть элемент для выбора терминов таксономии. По сути это некая комбинация выбора терминов из списка и свободного их ввода.

К сожалению, пока модуль еще не имеет релизов, но я скорее всего буду следить за его жизнью.

Комментарии