Answers:
基数选项field_ui_field_edit_form()
使用以下代码行硬编码到函数中:
$form['field']['cardinality'] = array(
'#type' => 'select',
'#title' => t('Number of values'),
'#options' => array(FIELD_CARDINALITY_UNLIMITED => t('Unlimited')) + drupal_map_assoc(range(1, 10)),
'#default_value' => $field['cardinality'],
'#description' => $description,
);
这drupal_map_assoc(range(1, 10))
条线将数字限制为10。
尽管(至少不是通过内核)似乎没有在其他任何地方验证(或进一步限制)最大基数,所以使用表单更改钩子为该值提供更多选项非常容易:
function MYMODULE_form_field_ui_field_edit_form_alter(&$form, &$form_state, $form_id) {
// Increase the max cardinality to 20
$range = drupal_map_assoc(range(1, 20));
$new_options = array(FIELD_CARDINALITY_UNLIMITED => t('Unlimited')) + $range;
// Change the options
$form['field']['cardinality']['#options'] = $new_options;
}
我只是尝试了一下,它似乎根本没有副作用。字段系统会遵守您设置的任何基数大于10的基数,并在您在管理UI中编辑该字段时将其毫无问题地保存。
我已使用此沙盒项目解决了相同的问题:https : //www.drupal.org/sandbox/ydahi/2421885
它提供了一个UI来设置值的数量范围。