মারাত্মক ত্রুটি: ম্যাজেন্টো 2 এ ইন্টারফেসটি ইনস্ট্যান্ট করতে পারে না?


21

প্রোগ্রাম হিসাবে বান্ডেল পণ্য তৈরির অংশ হিসাবে Magento 2। আমি ত্রুটির নীচে পাচ্ছি। এমনকি আমি ভের / ক্যাশে এবং প্রজন্ম সরিয়েছি।

এটি একটি সদৃশ প্রশ্ন হতে পারে তবে উত্তরের কোনও উত্তরই এই সমস্যার জন্য কাজ করছে না।

মারাত্মক ত্রুটি: ম্যাজেন্টো \ ক্যাটালগ \ এপি \ ডেটা \ প্রোডাক্ট এক্সটেনশন ইন্টারফেস \ অবজেক্টম্যানেজার \ ফ্যাক্টরী yn ডায়নামিক \ ডেভেলপার.এফপি line৩ লাইনে

লিঙ্কের রেফারেন্স হিসাবে কোডের নীচে ব্যবহৃত

$productExtension = $objectManager->create(\Magento\Catalog\Api\Data\ProductExtensionInterface::class);
$option = $objectManager->create(\Magento\Bundle\Api\Data\OptionInterface::class);
$option->setTitle('Size');
$option->setType('radio');
$option->setRequired(true);
$option->setPosition(1);
//$option->setProductLinks($links);
$productExtension->setBundleOptions([$option]);
$_product->setExtensionAttributes($productExtension);

আমি অস্থায়ী / দ্রুত উদ্দেশ্যে অবজেক্ট ম্যানেজারটি ব্যবহার করছি, অবজেক্ট ম্যানেজারকে কনস্ট্রাক্টর হুকুমে রূপান্তর করব।

এই সমস্যাটিতে যে কেউ আমাকে সহায়তা করতে পারে।

উত্তর:


21

আমি মনে করি আপনি আপনার di.xml এ পছন্দটি উল্লেখ করেন নি। আমি যখন কাস্টম কনফিগারেশন এক্সএমএল ফাইল মডিউল তৈরি করছিলাম তখন আমিও একই সমস্যার মুখোমুখি হয়েছি।

আমি এই কোডটি কল করার সময় আমি সমস্যাটি পেয়েছি:

$testConfig = $this->_objectManager->get('Training\Test\Model\Config\ConfigInterface');
$myNodeInfo = $testConfig->getMyNodeInfo();

নীচে আমি আমার ডি.এক্সএমএলে সংযুক্ত নমুনা কোডটি দিচ্ছি , এটি আপনাকে রেফারেন্স পেতে সহায়তা করতে পারে:

<preference for="Training\Test\Model\Config\ConfigInterface" type="Training\Test\Model\Config" />

এখানে আমি Training\Test\Model\Configক্লাসে ইন্টারফেসটি প্রয়োগ করেছি এবং আমার getMyNodeInfo()পদ্ধতিটি সেই মডেলটিতে সংজ্ঞায়িত করা হয়েছে।

সুতরাং di.xml এ সংজ্ঞায়িত পছন্দের উপর ভিত্তি করে কোডটি ->get('Training\Test\Model\Config\ConfigInterface');ধরণের একটি অবজেক্ট তৈরি করবে Training\Test\Model\Config।


7

আপনি ব্যবহার করা উচিত নয় ObjectManager।

এর মাধ্যমে আপনার নির্ভরতা সংগ্রহ করুন _constructor।

আপনার ইন্টারফেসটি এখনও লোড হবে না এমন ক্ষেত্রে, আপনার পরীক্ষা করে দেখুন di.xmlএবং পছন্দসইটি উপলভ্য।


@ ডেভিড ল্যাম্বাউয়ার এমনকি আমি কনস্ট্রাক্টর ব্যবহার করেছি আমি ইন্টারফেসটি ইনস্টল করতে পারছি না ম্যাজেন্টো \ ক্যাটালগ \ এপি \ ডেটা ma ম্যাজেন্টো \ ফ্রেমওয়ার্কে প্রোডাক্ট এক্সটেনশন ইন্টারফেস \ অবজেক্টম্যানেজার \ কারখানা yn গতিশীল \ বিকাশকারী
— ph৩

1
আপনি আপনার ব্যবহারের বিবৃতিতে কারখানাটি যুক্ত করেছেন? ম্যাজেন্টো \ ক্যাটালগ \ এপিআই \ ডেটা \ প্রোডাক্ট এক্সটেনশনইন্টারফেসফ্যাক্টরি ব্যবহার করুন;
— ডেভিড ল্যাম্বাউয়ার

6

আমি এটির সাথে লড়াই করেছিলাম এবং এরপরে এমন একটি সমাধান পেয়েছি যা এখানে ডকুমেন্টেশনে আমার পক্ষে কাজ করেছে ।

আপনার ইন্টারফেসটি di.xml এ পছন্দ হিসাবে (সঠিকভাবে) যুক্ত করার বিষয়ে নিশ্চিত হন।


2
আমার সমস্যাটি হ'ল আমি দুর্ঘটনাক্রমে এডের মূলের পরিবর্তে ডায়ি এক্সএলএমএল ইত্যাদি / ফ্রন্টএন্ড ফোল্ডারে রেখেছি, তবে আপনার উত্তর আমাকে তা খুঁজে বের করতে পরিচালিত করেছে।
— কাইলবাঙ্গা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.