ড্রুপাল 8-এ কীভাবে # এলিমেট_অলডিট এবং # মান_ক্যালব্যাক ব্যবহার করবেন


9

আমি অফিশিয়াল ফর্ম এপিআই ডকুমেন্টেশন অনুসরণ করেছি, তবে এই কোডটি আমার পক্ষে দ্রুপাল 8 তে কাজ করে না:

  public function buildForm(array $form, FormStateInterface $form_state) {
    $form['upload'] = array(
      '#title' => t('Upload Images'),
      '#type' => 'managed_file',
      '#upload_location' => 'public://image_example_images/',
      '#element_validate' => array('file_generic_settings_max_filesize'),
    );
    return $form;
  }

  private function file_generic_settings_max_filesize($element, &$form_state) {
    form_error($element, 'This is an error.');
  }

আমি form_error () কে $ form_state-> setErrorByName () দ্বারা পুনঃস্থাপন করার চেষ্টা করেছি তবে একই সমস্যা, ফাইল আপলোড হয়েছে এবং বৈধতা কল করা হয়নি।

দয়া করে আপনার কোন সমাধান আছে? # এলিমেন্ট_এলডিটের ডকুমেন্টেশন কি পুরানো?

আমার উদ্দেশ্য: প্রচুর চিত্র আপলোড করুন, একটি কাস্টম বৈধতা ব্যবহার করুন এবং <div class="preview"></div>প্রতিটি চিত্রের নামের জন্য একটি ক্ষেত্রের সাথে সমস্ত চিত্রের থাম্বনেইলগুলি সন্নিবেশ করুন ।

উদাহরণ: এখানে চিত্র বর্ণনা লিখুন (আপলোডের পরে, প্রতিটি চিত্রের নামের জন্য থাম্বনেইল এবং শিরোনাম ক্ষেত্র প্রদর্শন করুন)

অন্য, আপলোডের পরে, প্রতিটি চিত্রের থাম্বনেইলস এবং অন্যান্য ক্ষেত্রের (শিরোনাম এবং বিবরণ) প্রদর্শনের জন্য, আমাকে # মূল্য_ক্যালব্যাক, # প্রসেস, # সংযুক্ত (আপলোডের পরে জেএস সহ ফিল্ড / ডিসপ্লে পরিচালনা) বা অন্য কোনও বিকল্প ব্যবহার করতে হবে?

ধন্যবাদ।

উত্তর:


9

জন্য একটি দৃষ্টান্ত পদ্ধতি ব্যবহার করার জন্য #element_validate/ #value_callbackইত্যাদি আপনি যদি একটি প্রয়োজন callable । যেমন

$form['upload'] = array(
  '#title' => t('Upload Images'),
  '#type' => 'managed_file',
  '#upload_location' => 'public://image_example_images/',
  '#element_validate' => array(
    array($this, 'file_generic_settings_max_filesize'),
  ),
);

আপনার শ্রেণিটি পদ্ধতিটি চালাচ্ছে না বলে উপযুক্ত করার file_generic_settings_max_filesize()জন্য আপনাকে চিহ্নিত করতে হবে (যদি আপনি মানদণ্ডগুলির জন্য স্টিকার ছিলেন তবে সত্যই নামকরণ করা উচিত fileGenericSettingsMaxFilesize) public

এর জন্য ডকুমেন্টেশন চলছে , পরিবর্তন নোটিশ এখানে


4
যদি ফর্ম বস্তুর উপর একটি পদ্ধতি, তারপর অ্যারের ( ':: file_generic_settings_max_filesize') ব্যবহার করা যেতে পারে, দেখুন drupal.org/node/2325875
Berdir

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