【发布时间】:2016-07-12 05:30:32
【问题描述】:
【问题讨论】:
标签: drupal-8
【问题讨论】:
标签: drupal-8
如果您的字段是必填项,则不会显示 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;
}
【讨论】:
试试这个
function MODULENAME_options_list_alter(array &$options, array $context) {
unset($options['_none']);
}
【讨论】:
如果你想要一个 CSS 解决方案,你可以像这样隐藏 .form-radios 项的第一个子项:
.form-radios > .form-item:first-child {
display: none;
}
(只要您没有任何必需的布尔值。)
【讨论】:
最好的解决方案是使用 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']);
}
}
【讨论】: