Magento 2 প্রশাসনিক একাধিক ট্যাব জুড়ে ফর্মগুলি ছড়িয়ে দিচ্ছে


43

আমি একটি ব্যাকএন্ড মডিউল তৈরির চেষ্টা করছি, যেখানে আমার সম্পাদনা পৃষ্ঠায় আমি admin-2column-leftবিন্যাসটি ব্যবহার করি ।

আমি প্রতিটি ট্যাবে একটি ফর্ম রাখতে চাই, তবে আমি কীভাবে এটি করতে পারি তা বুঝতে পারি না।
আদর্শভাবে, আমি জানতে চাই যে কীভাবে uiComponentsবিভিন্ন ট্যাবগুলিতে বিভিন্ন ফর্মটি বরাদ্দ করতে হয়, বা কীভাবে আমি uiComponentআমার ফর্মের জন্য একটিকে সংজ্ঞা দিতে পারি , তবে কোন ফিল্ড সেটটি কোন ট্যাবে যায় তা নির্ধারণ করতে সক্ষম হব।

আমার সুনির্দিষ্ট পরিস্থিতি, যা এই প্রশ্নটিকে উস্কে দেয়, তা হ'ল আমি একটি ট্যাবে একটি মানক ফর্ম রাখতে চাই (একাধিক পাঠ্য ইনপুট), এবং অন্য ট্যাবে আমি একটি dynamicRowsইউআই উপাদান রাখতে চাই। আমরা এই ট্যাবগুলিকে প্রধান এবং লাইন আইটেম বলেছি।

বর্তমানে, আমি এটি নিম্নরূপে প্রয়োগ করছি: প্রধানটি _prepareFormতার ব্লকের মধ্যে পদ্ধতিতে সংজ্ঞায়িত করা হয় , যা একটি শ্রেণিবদ্ধকরণ Form\Generic। এই ফর্মটি উপস্থিত হয় এবং আমি গতিশীল সারিগুলি যোগ না করা পর্যন্ত এটি কাজ করে।

আমার লেআউট ফাইলটিতে প্রধান ট্যাব যুক্ত করতে এবং সামগ্রী ব্লক বরাদ্দ করার কোড রয়েছে। পাশাপাশি এটির একটি ধারক line_itemsরয়েছে যার মধ্যে uiComponentগতিশীল সারি রয়েছে এমন ফর্মের জন্য একটি রয়েছে ।

লাইন আইটেম ট্যাবে তৈরি করা হয় _beforeToHtmlপদ্ধতি Widget\Tab, এবং এর বিষয়বস্তু একটি কল ব্যবহার করে নির্ধারিত হয় getChildHtmlএকটি line_items ধারক উপর।

ট্যাবটি কাজ করে এবং সঠিক কাঠামোর সাথে পপুলেটেড হয়, আমাকে সারি যুক্ত করতে এবং সরাতে দেয়।

সমস্যাটি হ'ল আমি পৃষ্ঠাটি জমা দেওয়ার সময় লাইন আইটেম ট্যাবে কেবল ইনপুট জমা দেওয়া হয়।

সুতরাং আমি জানি যে আমি এটি সঠিকভাবে সেট আপ করি নি, এবং ফর্মের সমস্ত উপাদান ট্র্যাক এবং জমা দেওয়ার জন্য এটির নির্দেশ দেওয়ার কিছু উপায় প্রয়োজন। এই বাস্তবায়নটির বেশিরভাগ আমার বিভাগের বৈশিষ্ট্য ফর্মের সেটআপটিকে প্রকৌশলীকে বিপরীত করার আমার প্রচেষ্টা থেকে প্রাপ্ত, যা আমি যা করতে চাই তার অনুরূপ।

কারও সম্পর্কে ধারণা আছে?


আপনি কি কখনও এটি খুঁজে বের করতে পারেন?
জামিল

1
স্টিফেন - আমি ধরে নিচ্ছি যে এতকাল পরেও আপনি কোনও সমাধান খুঁজে পেয়েছেন? যদি তা করতে পারেন তবে দয়া করে আপনার সমাধান সহ এটি আপডেট করুন?
ব্রেন্টপিউটারসন

@ স্টেফেন ফ্রিটজ - আপনি কীভাবে সন্ধান করছেন এমন কোনও স্ক্রিনশট সরবরাহ করতে পারেন?
প্রফুল রাজপুত

আমি কি জিজ্ঞাসা করতে পারি যে এই প্রশ্নের উত্তরটির এখনও দরকার আছে? যদি এটি হয় তবে আমি বুঝতে পারি যে আমি সমস্যাটি বুঝতে পেরেছি: আমরা কি এতে আলাদা ফর্ম সহ একটি ব্যাকএন্ড স্ক্রিন তৈরির চেষ্টা করছি? বা একাধিক ট্যাব (uiComp घटक ফ্যাশন) সহ একটি পর্দা কি এই সমস্যার সমাধান হতে পারে?
হার্ভে ট্রিবিউলয়

1
@ স্টেফেন ফ্রিটজ - দয়া করে ফিল্ডসেটের নাম পরিবর্তন করার চেষ্টা করুন কারণ এটি অনন্য হতে হবে এটি অন্য কোথাও এর বিরোধী হতে পারে। ফিল্ডসেটের নাম পরিবর্তন করে আমার একই ইস্যু হয়েছে এবং এর সমাধান হয়েছে
আব্দুল কাদির

উত্তর:


0

ইউআই-কম্পোনেন্ট ব্যবহার করে একক ফর্মের সাথে ট্যাবগুলি তৈরি করতে নিম্নলিখিত কোডটি ব্যবহার করুন

<argument name="data" xsi:type="array">
    <item name="js_config" xsi:type="array">
        <item name="provider" xsi:type="string">custom_form.custom_form_data_source</item>
        <!--This is for tab -->
        <item name="deps" xsi:type="string">custom_form.custom_form_data_source</item>
    </item>

    <!--following tag add the tab into form-->
    <item name="label" xsi:type="string" translate="true">Test Details</item>
    <item name="reverseMetadataMerge" xsi:type="boolean">true</item>
   <item name="layout" xsi:type="array">
        <item name="type" xsi:type="string">tabs</item>
        <item name="navContainerName" xsi:type="string">left</item>
    </item>

</argument>

একটি ফর্ম উপাদান তৈরি করুন

 <fieldset name="general">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="label" xsi:type="string">General Information</item>
        </item>
    </argument>

    <field name="name">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="source" xsi:type="string">general</item>
                <item name="label" xsi:type="string">Name</item>
                <item name="formElement" xsi:type="string">input</item>
                <item name="dataType" xsi:type="string">text</item>
                <item name="dataScope" xsi:type="string">name</item>
                <item name="validation" xsi:type="array">
                    <item name="required-entry" xsi:type="boolean">true</item>
                </item>
            </item>
        </argument>
    </field>
 </fieldset>
 <fieldset name="address">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="label" xsi:type="string">Address and Contact</item>
        </item>
    </argument>
    <field name="address_line1">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="source" xsi:type="string">address</item>
                <item name="label" xsi:type="string">Address Line1</item>
                <item name="formElement" xsi:type="string">input</item>
                <item name="datatype" xsi:type="string">text</item>
                <item name="datascope" xsi:type="string">address_line1</item>
            </item>
        </argument>
    </field>

    <field name="address_line2">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="source" xsi:type="string">address</item>
                <item name="label" xsi:type="string">Address Line2</item>
                <item name="formElement" xsi:type="string">input</item>
                <item name="datatype" xsi:type="string">text</item>
                <item name="datascope" xsi:type="string">address_line2</item>
            </item>
        </argument>
    </field>
  </fieldset>

এই কোডটি সম্পর্কিত ফর্ম ক্ষেত্রগুলির সাথে ফর্মটিতে 2 টি ট্যাব প্রদর্শন করবে।

আশা করি এই সমাধানটি আপনার পক্ষে কাজ করে

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