Drupal 8:单选按钮中显示不需要的N / A选项

时间:2016-03-24 15:01:32

标签: drupal-8

我正在使用Drupal 8.如何删除单选按钮中的N / A选项?

image1

image2

4 个答案:

答案 0 :(得分:2)

如果您的字段是必填字段,则不显示任何选项。

假设您不想要它,请按以下步骤删除此选项。

首先,您需要为单选按钮添加一个处理函数(您必须创建一个模块并在其中插入此代码)

function yourmodule_element_info_alter(array &$types) {
  if (isset($types['radios'])) {
    $types['radios']['#process'][] = 'remove_radio_na';
  }
}

然后创建流程功能。假设您有几个布尔字段,并且您想要仅为字段“field_bool_no_na”删除n / a选项

function remove_radio_na($element) {
  if ($element['#field_name']=='field_bool_no_na') {
    unset($element['_none']);
  }
  return $element;
}

答案 1 :(得分:1)

试试这个

function MODULENAME_options_list_alter(array &$options, array $context) {
     unset($options['_none']);
}

答案 2 :(得分:0)

如果需要CSS解决方案,可以隐藏.form-radios项的第一个子项,如下所示:

dateTimeV2

(只要您没有任何必需的布尔值。)

答案 3 :(得分:0)

最好的解决方案是使用 hook_form_alter 在从单选按钮中删除的 hook_form_alter "N/A" 上添加波纹管代码后。

用于在用户配置文件自定义单选按钮字段中删除 n/a 的示例代码:

function your_module_name_form_alter(array &$form, FormStateInterface $form_state, $form_id) {
  if (strpos($form_id, 'user_form') !== FALSE) {
    unset($form['your_field_name']['widget']['#options']['_none']);
  }
}