Risposte:
Le opzioni di cardinalità sono codificate nella field_ui_field_edit_form()
funzione usando queste righe di codice:
$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,
);
È la drupal_map_assoc(range(1, 10))
linea che limita il numero a 10.
Non sembra che la massima cardinalità sia convalidata (o ulteriormente limitata) altrove, sebbene (almeno non per core), quindi sarebbe abbastanza facile offrire più opzioni per quel valore usando un hook di modifica del modulo:
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;
}
L'ho appena provato e sembra che non abbia effetti collaterali. Il sistema di campo rispetta qualsiasi cardinalità impostata superiore a 10 e la salva senza problemi quando si modifica il campo nell'interfaccia utente dell'amministratore.
Ho usato questo progetto sandbox per risolvere lo stesso problema: https://www.drupal.org/sandbox/ydahi/2421885
Fornisce un'interfaccia utente per impostare l'intervallo per il numero di valori.