কীভাবে Magento2 এ এক্সটেনশন_ট্রিবিউটস ব্যবহার করবেন


15

এমন কেউ কি আছেন যা আমাকে কীভাবে extension_attributesম্যাজেন্টো 2 এ ব্যবহার করবেন তার একটি উদাহরণ দিতে পারে ?


আপনি কি এই দিকে তাকিয়েছেন ?
স্টিভ জনসন

1
হ্যাঁ, আমি করেছি, তবে এটি আমার কাছে এতটা পরিষ্কার ছিল না
ফিনিক্স 128_ রিকার্ডোটি

উত্তর:


18

মনে করুন আমরা একটি অর্ডার সরবরাহের তারিখ তৈরি করি, যখন গ্রাহক শিপিং নির্বাচন করেন তখন গ্রাহক একটি প্রসবের তারিখটি চয়ন করতে পারেন। সুতরাং আপনি নিম্নলিখিত উপায়ে \ Magento \ চেকআউট \ এপি \ ডেটা \ শিপিংইনফর্মেশন ইন্টারফেসের জন্য একটি এক্সটেনশন অ্যাট্রিবিউট তৈরি করতে পারেন


<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Api/etc/extension_attributes.xsd">
    <extension_attributes for="Magento\Checkout\Api\Data\ShippingInformationInterface">
        <attribute code="delivery_date" type="string"/>
    </extension_attributes>
</config>

আপনি এখন value ম্যাজেন্টো \ চেকআউট \ এপি \ ডেটা \ শিপিংইনফরমেশনআইন্টারফেস ব্যবহার করার সময় এখন এই মানটি অ্যাক্সেস করতে পারবেন ।

সুতরাং সেই ক্ষেত্রে ম্যাজেন্টো \ চেকআউট \ মডেল \ শিপিংইনফর্মেশনম্যানেজমেন্ট এই শ্রেণীর ব্যবহার করুন age ম্যাজেন্টো \ চেকআউট \ এপি \ ডেটা \ শিপিংইনফরমেশন ইন্টারফেসটি সেভএড্রেস ইনফরমেশন পদ্ধতির প্যারাম হিসাবে। সুতরাং আপনি নিম্নলিখিত উপায়ে অ্যাক্সেস করতে পারেন:


$extAttributes = $addressInformation->getExtensionAttributes();
$deliveryDate = $extAttributes->getDeliveryDate();

আরও বিশদের জন্য (ম্যাজেন্টো 2 অফিশিয়াল ডকুমেন্টেশন)

এখানে একটি উদাহরণ:

extension_attributes

এক্সটেনশন বৈশিষ্ট্য মান চয়ন করুন

[হালনাগাদ]

আপনি এটির extension_attributes সেট করতে পারেন setExtensionAttributes পদ্ধতি। নিম্নলিখিত ক্লাস একটি উদাহরণ: এখানে ক্লিক করুন


তাহলে সেট এক্সটেনশনঅ্যাট্রিবিউটস কী?
ফিনিক্স 128_ রিকার্ডোটি

আমি বাস্তব উদাহরণ দিয়ে আপডেট করেছি
সোহেল রানা

দুর্দান্ত, তবে একটি জিনিস এখানে অনুপস্থিত: এক্সটেনশন বৈশিষ্ট্যগুলি ঠিক কোথায় সঞ্চয় করা আছে? বৈশিষ্ট্যগুলি সংরক্ষণ এবং পুনরুদ্ধারের জন্য আমাকে কী কোড সরবরাহ করতে হবে বা ম্যাজেন্টো সেটিকে পরিচালনা করতে পারে (কাস্টম বৈশিষ্ট্যের সাথে)?
মার্টিন উইকম্যান

প্লাগিনগুলি extension_attributesকাজ করার জন্য বাধ্যতামূলক তা আমি কী এটি সঠিকভাবে বুঝতে পারি ? উদাহরণস্বরূপ, আমি কি afterLoadগ্রাহকদের জন্য একটি কাস্টম বৈশিষ্ট্য রাখতে চাইলে গ্রাহকদের জন্য সর্বদা প্লাগইন যুক্ত করতে হবে? আমার কাছে কিছুটা ওভারহেডের মতো মনে হচ্ছে ...
জিয়েল বার্কার

1
@ মার্টিন উইকম্যান হ্যাঁ এটি এক্সটেনশন অ্যাট্রিবিউট ডেটা পুনরুদ্ধার এবং অব্যাহত রাখার জন্য যুক্তি প্রয়োগ করা বিকাশকারীদের দায়িত্ব। ধারণাটি হ'ল, আপনার কাছে পণ্য সংস্থাগুলির জন্য মডিউল দ্বারা প্রবর্তিত কিছু জটিল জটিল ডেটা রয়েছে এবং এই ডেটা এক বা একাধিক ডাটাবেস টেবিল বা অন্য কোনও ডেটা উত্স থেকে আসতে পারে, এটি কোনও ব্যাপার নয়। প্লাগিন সিস্টেমটি ব্যবহার করে লোডিংয়ের জন্য প্রোডাক্ট রিপোসিটরির পদ্ধতিগুলি লক্ষ্য করুন (যেমন, আফটার গেট, আফটার গেটলিস্ট)। এখানে, আপনি আপনার ডেটা পুনরুদ্ধার করুন (যে কোনও জায়গা থেকে) এবং এটিকে সত্তার এক্সটেনশনঅ্যাট্রিবিউটে যুক্ত করেন। এটি কঠিন বলে মনে হয় তবে এটি খুব নমনীয় এবং শক্তিশালী।
জন হল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.