我怎樣才能默認值字段集下與下面的文本字段添加自定義複選框,它的自定義提交處理?
我已經使用了hook_form_field_ui_field_edit_form_alter(),但它不起作用。 我已經使用hook_field_widget_third_party_settings_form(),但它不工作。
不知道我在做什麼錯。 請幫忙。
我怎樣才能默認值字段集下與下面的文本字段添加自定義複選框,它的自定義提交處理?
我已經使用了hook_form_field_ui_field_edit_form_alter(),但它不起作用。 我已經使用hook_field_widget_third_party_settings_form(),但它不工作。
不知道我在做什麼錯。 請幫忙。
你可以改變形式下面提到的方式
function {your_module}_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
switch ($form_id) {
case 'field_config_edit_form':
$form['default_value']['widget'][1] = array(
'#type' => 'checkbox',
'#title' => t('Your checkbox'),
'#size' => 10,
'#maxlength' => 255,
'#default_value' => 1,
'#required' => TRUE,
'#description' => '<p>' . t('Your checkbox altered.') . '</p>',
);
break;
}
}
感謝您的幫助! 如果我想讓它適用於多種字段類型(數字,'分類','列表','文本'等),那麼它的默認行爲是不同的D8 ,而在D7中,當我們使用hook_form_field_ui_field_edit_form_alter()時,我們可以簡單地通過它作爲一個數組。像:
if (in_array($form['#field']['module'], array('number', 'taxonomy', 'list', 'text'))) {
//My form field here
}
但在D8也有一些新的名詞,如:entity_autocomplete,「選擇」(而不是「列表」)等 因此,在這種情況下,我覺得hook_form_alter不會爲所有類型的Fileds的工作。 這就是爲什麼我的方法是 hook_form_field_ui_field_edit_form_alter或hook_field_widget_third_party_settings_form。
你想要複選框的作用是什麼?它應該做什麼? –