Magento 2 Thêm mục nhập Trình kết xuất cây với nút Modal


13

Tôi đang cố gắng đặt đầu vào danh mục cho biểu mẫu tùy chỉnh của mình bằng biểu mẫu uicomponent.

nhập mô tả hình ảnh ở đây

Tôi có thể tạo trình đơn thả xuống nhưng làm thế nào tôi có thể tạo nút và mở một phương thức mới từ nó?

Tôi có thể tạo một nút bằng uicomponent và mở một chế độ từ nó không. Tôi muốn có một nút thay vì các loại mới tôi muốn thêm nút lựa chọn sản phẩm và muốn thêm chương trình danh sách các sản phẩm từ chọn loại trong lưới.

Đây là xml để tạo đầu vào danh mục

<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>

Cho đến khi tôi có thể hiểu những gì trong đó và có thể đưa ra câu trả lời, tôi có thể khuyên bạn nên xem qua Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Categorieslớp học. Nó là một trong đó thêm bộ chọn cây danh mục vào màn hình thêm / chỉnh sửa sản phẩm. Có lẽ bạn có nhiều may mắn hơn để hiểu những gì trong đó.
Marius

@Marius Ya nhìn vào điều tương tự có vẻ là cách tốt nhất để làm điều đó.
Priyank

Hey tôi nghĩ rằng việc thêm các sửa đổi chỉ được sử dụng cho hình thức sản phẩm và rất khó để thêm nó cho mô hình tùy chỉnh sau khi tìm kiếm trong khoảng 3 ngày tôi đã thất bại. Tôi vừa nhận được tên thành phần UI không hợp lệ: 'category_mapping_form'
Priyank

Làm thế nào là các tùy chọn được lựa chọn làm việc ở đây?
Amrit Pal Singh

Câu trả lời:


3

Mã này dưới đây làm việc với tôi:

     <container>
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
            <item name="formElement" xsi:type="string">container</item>
            <item name="component" xsi:type="string">Magento_Ui/js/form/components/group</item>
        </item>
        </argument>
        <field name="category_ids">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="filterOptions" xsi:type="boolean">true</item>
                    <item name="chipsEnabled" xsi:type="boolean">true</item>
                    <item name="label" xsi:type="string">Categories</item>
                    <item name="disableLabel" xsi:type="boolean">true</item>
                    <item name="component" xsi:type="string">Magento_Catalog/js/components/new-category</item>
                    <item name="formElement" xsi:type="string">select</item>
                    <item name="levelsVisibility" xsi:type="number">1</item>
                    <item name="elementTmpl" xsi:type="string">ui/grid/filters/elements/ui-select</item>
                    <item name="options" xsi:type="array">
                            <item name="0" xsi:type="array">
                                <item name="value" xsi:type="number">1</item>
                                <item name="label" xsi:type="string" translate="true">Category 1</item>
                                <item name="optgroup" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="value" xsi:type="number">2</item>
                                        <item name="is_active" xsi:type="boolean">true</item>
                                        <item name="label" xsi:type="string" translate="true">Category 1.1</item>
                                    </item>
                                </item>
                            </item>
                            <item name="1" xsi:type="array">
                                <item name="value" xsi:type="number">2</item>
                                <item name="is_active" xsi:type="boolean">true</item>
                                <item name="label" xsi:type="string" translate="true">Category 2</item>
                            </item>
                    </item>
                   <item name="config" xsi:type="array">
                       <item name="dataScope" xsi:type="string">category_ids</item>
                   </item>
                </item>
            </argument>
        </field>
    </container>

Đây là kết quả:

Bản giới thiệu

Lưu ý: Với các tùy chọn vật phẩm, bạn nên thay đổi xsi:type="object"và khai báo một Class cho nó.

Tôi hy vọng nó là hữu ích !


1
mối quan tâm của tôi không phải là làm thế nào tôi nên tạo ra cây. Câu hỏi của tôi là tạo một nút bên cạnh thả xuống như trong ảnh chụp màn hình của tôi và mở một phương thức từ nó và để hiển thị danh sách lưới sản phẩm trong đó.
Priyank

Làm thế nào để có được lựa chọn trong này?
Amrit Pal Singh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.