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

#drupal #drupal-7 #cck #drupal-fields

#drupal #drupal-7 #cck #drupal-поля

Вопрос:

Учитывая следующий список выбора для поля «field_priority», как я могу отобразить метку с заданным ключом (например, 0, 1, 3)?

 0|Low
1|Medium
2|High
3|Urgent
  

Ответ №1:

Вы можете получить это красиво и быстро, используя field_info_field() :

 $key = 0; // Or whatever
$field = field_info_field('field_priority');
$label = $field['settings']['allowed_values'][$key];
  

В field.info.inc есть целый ряд функций полей, они очень удобны.

Комментарии:

1. являются ли поля формы также полями, чтобы вы могли использовать эту функцию для выбранного параметра в обработчике проверки / отправки?

Ответ №2:

Я бы предложил использовать list_allowed_values() вместо самостоятельного поиска в массиве:

 $field = field_info_field('field_priority');
$options = list_allowed_values($field);
$label = $values[$key];
  

Или короче:

 $label = list_allowed_values(field_info_field('field_priority'))[$key];