วิธีการใช้เพิ่ม / แก้ไขผลิตภัณฑ์ประเภทโครงสร้างหมวดหมู่ต้นไม้ในแบบฟอร์มที่กำหนดเอง?


10

ฉันกำลังพยายามใช้โครงสร้างต้นไม้ประเภทหมวดหมู่แบบฟอร์มเพิ่ม / แก้ไขฟอร์มในแบบฟอร์มที่กำหนดเอง

ฉันได้รับโซล จาก StackOverflow และเว็บไซต์อื่น ๆ

แต่มันทำงานไม่ถูกต้อง

ฉันเหนื่อย :

    $fieldset->addField(
        'category_ids',
        'Magento\Catalog\Block\Adminhtml\Product\Helper\Form\Category',
        [
            'name' => 'category_ids',
            'title' => 'Category',
            'label' => 'Category'
        ]
    );

<head>
    <css src="Magento_Catalog::catalog/category-selector.css"/>
</head>

รหัสนี้และเพิ่ม CSS นี้ในรูปแบบที่กำหนดเองของฉัน

แต่มันแสดงแบบนี้

ป้อนคำอธิบายรูปภาพที่นี่

แต่ฉันต้องการเหมือนกับแบบฟอร์มเพิ่ม / แก้ไขผลิตภัณฑ์

ป้อนคำอธิบายรูปภาพที่นี่

ฉันจะทำสิ่งนั้นได้อย่างไร

โปรดแบ่งปันคำแนะนำบางอย่าง .....


1
สวัสดี @Yagendra, คุณพบวิธีการแก้ปัญหาหรือไม่?
Vinaya Maheshwari

คำตอบ:


2

หากคุณกำลังสร้างฟอร์มโดยใช้คอมโพเนนต์ ui คุณสามารถรับอินพุตหมวดหมู่จาก xml ต่อไปนี้

<field name="parent">
            <argument name="data" xsi:type="array">
                <item name="options" xsi:type="object">Magento\Catalog\Ui\Component\Product\Form\Categories\Options</item>
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Parent Category</item>
                    <item name="componentType" xsi:type="string">field</item>
                    <item name="formElement" xsi:type="string">select</item>
                    <item name="component" xsi:type="string">Magento_Catalog/js/components/new-category</item>
                    <item name="elementTmpl" xsi:type="string">ui/grid/filters/elements/ui-select</item>
                    <item name="dataScope" xsi:type="string">data.parent</item>
                    <item name="filterOptions" xsi:type="boolean">true</item>
                    <item name="showCheckbox" xsi:type="boolean">false</item>
                    <item name="disableLabel" xsi:type="boolean">true</item>
                    <item name="multiple" xsi:type="boolean">false</item>
                    <item name="levelsVisibility" xsi:type="number">1</item>
                    <item name="sortOrder" xsi:type="number">20</item>
                    <item name="required" xsi:type="boolean">true</item>
                    <item name="validation" xsi:type="array">
                        <item name="required-entry" xsi:type="boolean">true</item>
                    </item>
                    <item name="listens" xsi:type="array">
                        <item name="${ $.namespace }.${ $.namespace }:responseData" xsi:type="string">setParsed</item>
                    </item>
                </item>
            </argument>
        </field>

ฉันพยายามคิดว่าฉันจะสร้างปุ่มและเป็นกิริยาช่วยได้อย่างไร


0

มีวิธีแก้ปัญหาแบบเลือกได้หลายแบบด้านล่าง:

<field name="category_ids" component="Magento_Catalog/js/components/new-category" sortOrder="20" formElement="select">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="filterOptions" xsi:type="boolean">true</item>
            <item name="multiple" xsi:type="boolean">true</item>
            <item name="showCheckbox" xsi:type="boolean">true</item>
            <item name="disableLabel" xsi:type="boolean">true</item>
            <item name="levelsVisibility" xsi:type="number">1</item>
        </item>
    </argument>
    <settings>
        <required>true</required>
        <validation>
            <rule name="required-entry" xsi:type="boolean">true</rule>
        </validation>
        <elementTmpl>ui/grid/filters/elements/ui-select</elementTmpl>
        <label translate="true">Categories</label>
        <dataScope>data.parent</dataScope>
        <componentType>field</componentType>
        <listens>
            <link name="${ $.namespace }.${ $.namespace }:responseData">setParsed</link>
        </listens>
    </settings>
    <formElements>
        <select>
            <settings>
                <options class="Magento\Catalog\Ui\Component\Product\Form\Categories\Options"/>
            </settings>
        </select>
    </formElements>
</field>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.