মারাত্মক ত্রুটি: ম্যাজেন্টো 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.