ইউআই-উপাদান ব্যবহার করে কীভাবে ফর্ম ফিল্ডটি পঠনযোগ্যভাবে তৈরি করবেন?


10

আমার ম্যাজেন্টো 2 মডিউলে একটি ফর্ম ফিল্ডের এই UI- উপাদান সংজ্ঞা রয়েছে।

    <field name="name">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="dataType" xsi:type="string">text</item>
                <item name="label" xsi:type="string" translate="true">Some Label</item>
                <item name="formElement" xsi:type="string">input</item>
                <item name="source" xsi:type="string">something_here</item>
                <item name="sortOrder" xsi:type="number">10</item>
                <item name="dataScope" xsi:type="string">name</item>
                <item name="notice" xsi:type="string" translate="true">Enter something here</item>
                <item name="validation" xsi:type="array">
                    <item name="required-entry" xsi:type="boolean">true</item>
                </item>
            </item>
        </argument>
    </field>

এবং আমি এটি কেবল পাঠযোগ্য করার চেষ্টা করছি। অক্ষম নয়। শুধু পঠনযোগ্য।
আমি যোগ করার চেষ্টা করেছি:

<item name="readonly" xsi:type="boolean">true</item>  

কনফিগার বিভাগে, তবে স্পষ্টতই আমি ব্যর্থ হয়েছি।
আমি ক্ষেত্রটি পাঠযোগ্যভাবে কীভাবে তৈরি করতে পারি? আমি কি ক্ষেত্রটি পাঠযোগ্যভাবে তৈরি করতে পারি?


"অক্ষম" এবং "পঠনযোগ্য" পরামিতিগুলির মধ্যে কী পার্থক্য? আমার মতে উভয় পরামিতি একই পদ্ধতিতে কাজ করে।
সিয়ারে উখুলেবাউ

1
আমি যা জানি, অক্ষম মানে ক্ষেত্রটি পোস্টের মাধ্যমে পাঠানো হয় না এবং কেবল পাঠানো হয়। আমার পরিকল্পনাটি কিছু জাভাস্ক্রিপ্টের মাধ্যমে পঠনযোগ্য ক্ষেত্রের মানটি সংশোধন করার।
মারিয়াস

অবশ্যই, তবে নিয়মিত ম্যাজেন্টো আকারে (ui নয়) "পাঠযোগ্য" বৈশিষ্ট্যটির অর্থ এইচটিএমএল-বৈশিষ্ট্যটি "অক্ষম"। অন্য উপায়ে আপনার কোনও কাস্টম উপাদান বা একটি কাস্টম স্ক্রিপ্ট ব্যবহার করা উচিত, ইউআই-উপাদানগুলির জন্য "কেবলমাত্র" পঠনযোগ্য "অ্যাট্রিবিউট নোনিস্টিস্টদের উপস্থাপন করুন।
সিয়ারে উখুলেবাউ

আমি এখন আপনার উত্তর দিয়ে আঁকতে যাচ্ছি। আমি কেবল আশা করি ভবিষ্যতে আমার কোনও ক্ষেত্রকে অক্ষম করার দরকার নেই।
মারিয়াস

ইনপুট হিসাবে ফর্মটি ছেড়ে দিন এবং পাঠ্য উপাদান যুক্ত করুন << আইসনের নাম = "এলিমেন্টটিপল" এক্সসি: টাইপ = "স্ট্রিং"> ui / ফর্ম / উপাদান / পাঠ্য </item> দেখুন: magento.stackexchange.com/a/296735/14271
ম্যাজেন্টো_নিউবি

উত্তর:


18

disabledএই জাতীয় উপাদানটিতে প্যারামিটার যুক্ত করার চেষ্টা করুন :

<field name="is_active">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="label" xsi:type="string">Status</item>
            <item name="dataType" xsi:type="string">number</item>
            <item name="formElement" xsi:type="string">checkbox</item>
            <item name="source" xsi:type="string">vendor_rules_rule_form.vendor_rules_rule_form_data_source.is_active</item>
            <item name="prefer" xsi:type="string">toggle</item>
            <item name="disabled" xsi:type="boolean">true</item>
            <item name="valueMap" xsi:type="array">
                <item name="true" xsi:type="string">1</item>
                <item name="false" xsi:type="string">0</item>
            </item>
            <item name="sortOrder" xsi:type="number">12</item>
        </item>
    </argument>
</field>

readonlyনিয়মিত ফর্ম উপাদানটির জন্য প্যারামিটারের সাথে ফলাফলটি সমান হওয়া উচিত :

ফলাফল


1
আমি এখানে বিস্মিত। এটি কাজ করে তবে এটি আমার কাছে ভুল দেখাচ্ছে। ক্ষেত্রটি অক্ষম থাকলে কীভাবে এখনও পোষ্টের মাধ্যমে পাঠানো হয়? যাইহোক, এটি একটি আলাদা প্রশ্ন। আমি আপাতত এটি মঞ্জুর করব।
মারিয়াস

5
@ মারিয়াস সম্ভবত এটি কারণ সম্ভবত যখন ফর্মটি ব্যাকএন্ড থেকে জমা দেওয়া হয় তখন এটি আসল ফর্মটি জমা হয় না তবে লুকানো ক্ষেত্রগুলির সাথে একটি নতুন ফর্ম থাকে যা আপনি সংরক্ষণে ক্লিক করার সময় তৈরি হয়। ফর্মটি আপনার ইউআই উপাদানগুলির এক্সএমএল-ফাইলের ক্ষেত্রগুলি এবং চিহ্নিত ক্ষেত্রগুলি অনুযায়ী তৈরি করা হয়েছে data-form-part। একবার দেখুন module-ui/view/base/web/js/form/form.js::initConfig(), validate()এবং submit()। এছাড়াও দেখুন lib/mage/utils/misc.js::submit()। এগুলি সম্মিলিতভাবে দেহের শেষে একটি নতুন ফর্ম যুক্ত করে যা আসলে জমা দেওয়া হয়।
জিল বার্কার্স

@GielBerkers। এই প্রশ্নটি জিজ্ঞাসা করার পরে আমি কিছু গবেষণা করেছি এবং আপনার ব্যাখ্যা অনুসারে আমিও একই সিদ্ধান্তে পৌঁছেছি। তুমি ঠিক. জমা দেওয়া ডেটা কোনও ফর্ম থেকে আসে না।
মারিউস

আমারও একই ইস্যু আছে .. আমি কনফিগারযোগ্য পণ্যের জন্য দামের ক্ষেত্রটি সক্ষম করতে চাই .. এখানে আমি লিঙ্কটি
গোপাল কাঁচা

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