ফিল্ড উইজেটগুলি উপাদান তৈরি করে না কেন?


11

ফর্ম উপাদানগুলি প্রায়শই মাঠের উইজেট থেকে পৃথক থাকে, তবুও তারা খুব অনুরূপ কার্যকারিতা প্রয়োগ করে।

কখনও কখনও, তাদের কার্যকারিতা দুটি এপিআই জুড়ে ক্রাইপ হয়, যেমন এই প্রশ্নে: একটি কার্যকরী ফিল্ড উইজেট ফর্মটি নিজেরাই কি প্রদর্শিত সম্ভব?

এটি আমার কাছে যৌক্তিক বলে মনে হয় যে কোনও ফিল্ড উইজেট ফর্ম উপাদান হতে পারে , এটি সরাসরি কিছু অন্তর্নিহিত স্টোরেজে মানচিত্রের ক্ষেত্রেও ঘটে, বিশেষত যেহেতু ক্ষেত্রের এপিআই আসার আগে ফর্ম এপি ইতিমধ্যে ছিল।

আমি ভাবছি কেন এটি হয় না।

সম্পাদনা: হিসাবে নীচের kiamlaluno দ্বারা নির্দিষ্ট সরকারী দস্তাবেজ অনুযায়ী, উইজেট হয় ফরম এপিআই উপাদান, যার মানে আমি সম্পাদনা আমার প্রশ্ন একটু প্রয়োজন।

আমি এ সম্পর্কে অবাক হয়েছি, কারণ আমি কোরের ট্যাগিং উইজেটটি একটি ফর্ম উপাদান হিসাবে ব্যবহার করতে চেয়েছিলাম। আমার জ্ঞানের সেরা হিসাবে, এটি করার সহজ উপায় নেই। উইজেট দাবি করার দস্তাবেজগুলি সত্ত্বেও এটি অগত্যা সত্য বলে মনে হয় না।

যদি কোনও উইজেট হিসাবে ঘোষণা করা হয়

function hook_widget_info() {
  return array('my_widget' => array(
    'base element' => 'some_form_element_machine_name',
  ))
}

তারপরে উপাদান সংজ্ঞাটি উইজেটের থেকে পৃথক হবে, যাতে এটি উভয় উপায়ে ব্যবহার করা যেতে পারে, তবে বর্তমানে এটি তেমন নয়।

সম্পাদনা 2: বৈশিষ্ট্য অনুরোধ খোলা হয়েছে


ড্রুপাল 8-এ, উইজেটগুলি এখন ক্লাস সহ প্রয়োগ করা হয়; বেস উইজেট মূলত এমন শ্রেণি যা থেকে একটি উইজেট শ্রেণি উত্পন্ন হয়।
কিমলালুনো

অনুরূপ প্রশ্নগুলি হবে "ট্যাক্সি গাড়ি নয় কেন?" বা "রাস্তাটি কেন ডাম্পের টুকরো নয়?" বা "বইটি কোনও উপন্যাস নয় কেন?" একটি বই একটি উপন্যাস হতে পারে তবে একই উপন্যাসটি ডিজিটাল স্টোরেজেও থাকতে পারে। অথবা এটি অন্যান্য উপন্যাসগুলির সাথে একত্রে আরও বড় বইতে থাকতে পারে। কোনও বইতে, যদিও এটিতে ঠিক একটি উপন্যাস রয়েছে, তার কিছু শারীরিক বৈশিষ্ট্য রয়েছে যা এর বিষয়বস্তুর চেয়ে পৃথক।
donquixote

উত্তর:


11

আমার কাছে এটি যৌক্তিক মনে হয় যে কোনও ফিল্ড উইজেট কোনও ফর্ম উপাদান হতে পারে, এটি কিছু অন্তর্নিহিত স্টোরেজে সরাসরি মানচিত্রের ক্ষেত্রেও ঘটে

উইজেটগুলি ফর্ম উপাদান; তাদের কেবলমাত্র অতিরিক্ত ক্ষমতা রয়েছে যা একটি ফর্ম উপাদানটির নেই। ফিল্ড উইজেট এপিআই সম্পর্কে নথিপত্রগুলি নিম্নলিখিত শব্দগুলি ব্যবহার করে উইজেটগুলি বর্ণনা করে:

উইজেটগুলি অতিরিক্ত প্রক্রিয়াকরণ ক্ষমতা সহ ফর্ম এপিআই উপাদান। ফিল্ড_ট্যাচ_ফর্ম () সহ ফিল্ড ফর্ম কাঠামো তৈরির সময় উইডজেট হুকগুলি সাধারণত ফিল্ড সংযুক্তি এপিআই দ্বারা ডাকা হয় ।

প্রতিটি উইজেট কমপক্ষে একটি ফর্ম উপাদান ব্যবহার করে প্রয়োগ করা হয়, তবে উইজেটগুলি প্রয়োগকারী একটি মডিউলকে এমন কিছু হুক প্রয়োগ করতে হবে যা ফর্ম উপাদান থেকে প্রয়োজনীয় নয়:

প্রথমটিকে হুক_ইলেট_ইনফো () এর সমতুল্য হিসাবে বিবেচনা করা যেতে পারে , অন্য দুটি উইজেটগুলি কাজ করার জন্য প্রয়োজনীয় অতিরিক্ত হুক। hook_field_widget_form()কোনও উইজেট রেন্ডার করা তথ্যের জন্য এটি ধন্যবাদ ।

ড্রুপাল প্রত্যাবর্তিত বৈশিষ্ট্যগুলি বিস্তৃত করে উইজেটগুলি প্রয়োগ করতে পারত hook_element_info(), তবে সত্যটি হ'ল একটি উইজেট এবং একটি ফর্ম উপাদান দুটি ভিন্ন জিনিস যা বিভিন্ন ক্ষেত্রে ব্যবহৃত হয়; একটি উইজেটকে আরও বিশেষ ধরণের ফর্ম উপাদান বিবেচনা করুন।
যদি hook_element_info()উইজেটগুলির তথ্য ফেরত দেওয়ার জন্যও ব্যবহার করা হত, উইজেটগুলির সন্ধান করা কোডটির জন্য উইজেটের তথ্য রাখার জন্য ফর্ম উপাদানগুলি ফিল্টার আউট করা দরকার; বিপরীতে, ফর্ম উপাদানগুলির সন্ধান করা কোডটির উইজেট সম্পর্কিত তথ্য ফিল্টার করা উচিত। সেই তথ্যটি কতটা প্রয়োজন তা বিবেচনা করে, এই কারণেই দুটি পৃথক হুক প্রয়োজন।

দ্রুপাল একটি "বেস উপাদান" সম্পত্তি থেকে ফিরে আসতে পারত hook_field_widget_info()। যদি এই জাতীয় সম্পত্তি বাস্তবায়ন না করা হয়, তবে এর অর্থ কেউই এটি প্রস্তাব করেনি, বা এটি প্রস্তাব করা হয়েছে, তবে এটি সীমিত কিছু ক্ষেত্রে কার্যকর হতে পারে।

ড্রুপাল 8-এর হিসাবে, জিনিসগুলি কিছুটা বদলেছে, এবং ফর্ম উপাদানগুলি হ'ল প্রয়োগকারী শ্রেণীর বস্তু FormElementInterface, যখন ক্ষেত্রের উইজেটগুলি বাস্তবায়নকারী শ্রেণীর অবজেক্ট WidgetInterface। এই ইন্টারফেসগুলির মধ্যে সাধারণ যে ইন্টারফেসটি হ'ল এটি হ'ল PluginInspectionInterfaceযা কোনও ফর্ম উপাদানকে রেন্ডার করার জন্য কোনও পদ্ধতির সংজ্ঞা দেয় না, যা পরিবর্তে RenderElementএকটি বিমূর্ত শ্রেণীর থেকে সংজ্ঞায়িত করা হয় ।
যেহেতু এখন উইজেটগুলি ক্লাসের সাথে প্রয়োগ করা হয়েছে, বেস উইজেট মূলত বেস ক্লাস যা থেকে একটি উইজেট শ্রেণি উত্পন্ন; কোনও উইজেটের বেস উইজেট সংজ্ঞায়িত করার জন্য কোনও সম্পত্তির প্রয়োজন নেই।


খুব মজার, আমি এটি জানতাম না। +1 টি। যাইহোক আমি আমার প্রশ্নটি আপডেট করেছি, কারণ আপনি আমাকে আরও বিভ্রান্ত করেছেন;)
লেথারিয়ান

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