जवाबों:
कार्डिनिटी विकल्प 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
यह मूल्यों की संख्या के लिए सीमा निर्धारित करने के लिए एक यूआई प्रदान करता है।