Yanıtlar:
Kardinalite seçenekleri field_ui_field_edit_form()
bu kod satırları kullanılarak fonksiyona sabit olarak kodlanmıştır :
$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,
);
Bu var drupal_map_assoc(range(1, 10))
10'a sayısını sınırlıyor hattı.
Maksimum kardinalitenin başka hiçbir yerde doğrulanmadığı (veya daha sınırlı olduğu) görülmemektedir (en azından çekirdek tarafından değil), bu nedenle bir form değiştirme kancası kullanarak bu değer için daha fazla seçenek sunmak oldukça kolay olacaktır:
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;
}
Sadece denedim ve hiçbir yan etkisi yok gibi görünüyor. Alan sistemi, ayarladığınız 10'dan daha yüksek bir önem düzeyine uyar ve yönetici kullanıcı arayüzünde alanı düzenlediğinizde sorunsuz bir şekilde kaydeder.
Aynı sorunu çözmek için bu sanal alan projesini kullandım: https://www.drupal.org/sandbox/ydahi/2421885
Değer sayısı aralığını ayarlamak için bir kullanıcı arayüzü sağlar.