【问题标题】:Drupal 8: Unwanted N/A option showing in radio buttonDrupal 8:单选按钮中显示不需要的 N/A 选项
【发布时间】:2016-07-12 05:30:32
【问题描述】:

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

【问题讨论】:

    标签: drupal-8


    【解决方案1】:

    如果您的字段是必填项,则不会显示 n/a 选项。

    假设您不想将其设为必需,以下是删除此选项的步骤。

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

    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;
    }
    

    【讨论】:

      【解决方案2】:

      试试这个

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

      【讨论】:

        【解决方案3】:

        如果你想要一个 CSS 解决方案,你可以像这样隐藏 .form-radios 项的第一个子项:

        .form-radios > .form-item:first-child {
        display: none;
        }
        

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

        【讨论】:

          【解决方案4】:

          最好的解决方案是使用 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']);
            }
          }
          

          【讨论】:

            猜你喜欢
            • 2016-04-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-09-19
            • 2016-09-28
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多