আমি এক্সটেনশন অ্যাট্রিবিউটগুলি ব্যবহার করে উদাহরণস্বরূপ উদ্ধৃতি আইটেমগুলি ব্যবহার করে আমার মাথাটি জড়িয়ে রাখতে চাই।
ম্যাজেন্টো 1 এর মতো একটি সেটআপ ক্লাস ব্যবহার করে এ জাতীয় সত্তায় একটি কাস্টম বৈশিষ্ট্য যুক্ত করা কোনও সমস্যা নয়, এই প্রশ্নটি এটাই নয়।
এই মুহূর্তে যাদুটি আমাকে অভিভূত করে যখন আমি এমন একটি বৈশিষ্ট্য প্রকাশ করতে চাই যেটি এক্সটেনশন দ্বারা সংস্থাগুলির API দ্বারা এক্সটেনশন অ্যাট্রিবিউট হিসাবে যুক্ত করা হয়েছিল।
আপডেট : আমি জানি নিয়মিত কারখানাগুলি কীভাবে উত্পন্ন হয়। এই প্রশ্নটি সেই বিশেষ কারখানাগুলির সম্পর্কে যা উত্পন্ন এক্সটেনশন অ্যাট্রিবিউট ইন্টারফেসগুলির জন্য উত্পাদিত প্রয়োগগুলি ইনস্ট্যান্ট করে।
এটি কার্যকর করার জন্য আমি গ্রহণ করা পদক্ষেপগুলি এখানে। আমি এগুলি যুক্ত করছি সুতরাং যে কেউ উত্তর দেওয়ার চেষ্টা করবে তাদের সেই বিশদগুলির মধ্যে যাওয়ার দরকার নেই।
আমার প্রশ্ন হচ্ছে কীভাবে বা কেন এটি কাজ করে।
কোনও সত্তা API এর মাধ্যমে একটি এক্সটেনশান বৈশিষ্ট্যটি প্রকাশ করার পদক্ষেপ:
etc/extension_attributes.xmlসত্তা ইন্টারফেসে অ্যাট্রিবিউট যুক্ত করে এমন একটি তৈরি করুন- সত্তা
ExtensionAttributesউদাহরণগুলিতে বৈশিষ্ট্যটির মান যুক্ত করতে একটি প্লাগইন তৈরি করুন ।
দ্বিতীয় পয়েন্টটি করার জন্য, সত্তা ExtensionAttributesউদাহরণগুলির প্রয়োজন। এই কারণে প্লাগইনটি কোনও কারখানার উপর নির্ভর করে, যা বস্তুর পরিচালক ডিআই-র মাধ্যমে সরবরাহ করে।
উদ্ধৃতি আইটেম উদাহরণ Magento\Quote\Api\Data\CartItemExtensionFactoryব্যবহার করতে হবে।
আমার ধারণা এই কারখানার প্রকারটি কোনও না কোনওভাবে প্রজন্মের যাদুতে ট্রিগার হতে হবে।
ম্যাগেন্টো তারপরে \Magento\Quote\Api\Data\CartItemExtensionInterfaceসমস্ত এক্সটেনশন বৈশিষ্ট্যের জন্য সেটার এবং গিটারগুলির সাথে ম্যাচিং ইন্টারফেস তৈরি করে ।
তবে, মনে হয় না যে এটি ইন্টারফেসের জন্য কংক্রিট বাস্তবায়ন তৈরি করেছে। ইজারা পিএইচপিএসটারম এটি দেখছে না।
ক্লাস তৈরির জন্য প্রয়োজনীয় তথ্য কীভাবে ম্যাজেন্টো সংগ্রহ করবেন? উত্সাহিত ইন্টারফেস পদ্ধতিগুলিকে কীভাবে একটি কংক্রিট উদাহরণে কল করা যেতে পারে? এটি কি এমন একটি শ্রেণি যা কেবল স্মৃতিতে উত্পন্ন হয়?
আমি আনন্দিত এটি কাজ করে, কিন্তু এটি সত্যই সন্তোষজনক নয়। এক্সটেনশন দ্বারা স্বয়ংক্রিয়ভাবে তৈরি করা বৈশিষ্ট্যগুলি ব্যবহার করার জন্য ম্যাজেন্টোস ক্ষমতা তার সাফল্যের অন্যতম মূল কারণ। মডিউল বিকাশকারী হিসাবে, আমি বিশ্বাস করি পুরো প্রক্রিয়াটি সম্পর্কে আমার সম্পূর্ণ বোঝা দরকার।
আমার কি সময় থাকা উচিত আমি নিজেই এটি খনন করতাম তবে আমি পছন্দ করতাম যদি আমি কেবল কোনও ব্যাখ্যা পেতে পারি।
আপডেট 2 : একটু সময় মাধ্যমে পড়তে টুক \Magento\Framework\Api\Code\Generator\ExtensionAttributesInterfaceGeneratorএবং \Magento\Framework\Api\Code\Generator\ExtensionAttributesGenerator। এখন আমার অন্তত একটি মোটামুটি ধারণা আছে যা চলছে। যদি কেউ আমাকে এর জন্য মারধর না করে আমি এক পর্যায়ে সম্পূর্ণ প্রক্রিয়াটির বিবরণ লিখব, কারণ আমি মনে করি এটি একটি দরকারী রেফারেন্স হবে।