আমি কীভাবে মানগুলির স্থির পরিমাণকে 11 এ সেট করব?


14

আমি একাধিক মান সহ একটি ক্ষেত্র স্থাপন করছি। আমি কনফিগার করতে সক্ষম মানগুলির সর্বাধিক স্থির পরিমাণ is

আমি আরও চাইলে আমাকে এটি সীমাহীনতে সেট করতে হবে।

ক্ষেত্রের মানগুলির নির্দিষ্ট পরিমাণকে 11 টি মান হিসাবে সেট করার কোনও উপায় আছে কি?

উত্তর:


20

কার্ডিনালিটি বিকল্পগুলি 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 এর চেয়ে বেশি সম্মান করে এবং আপনি অ্যাডমিন ইউআইতে ক্ষেত্রটি সম্পাদনা করার সময় সমস্যা ছাড়াই এটি সংরক্ষণ করে।


0

আমি একই সমস্যা সমাধানের জন্য এই স্যান্ডবক্স প্রকল্পটি ব্যবহার করেছি: https://www.drupal.org/sandbox/ydahi/2421885

এটি মানের সংখ্যার জন্য সীমা নির্ধারণ করতে একটি ইউআই সরবরাহ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.