Bagaimana cara membuat form ui komponen pilih kotak dengan sumber untuk mengisi kotak pilih

7

Saya mencoba mencari tahu bagaimana saya bisa membuat kotak pilih dalam bentuk komponen ui magento dan arahkan ke beberapa tempat di mana saya dapat mengisi daftar pilih.

Sesuatu seperti ini saya pikir akan berhasil tetapi tidak

<field name="formats">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="dataType" xsi:type="string">text</item>
                <item name="disabled" xsi:type="boolean">false</item>
                <item name="label" xsi:type="string" translate="true">formats</item>
                <item name="formElement" xsi:type="string">select</item>
                <item name="enabled" xsi:type="boolean">false</item>
                <item name="source" xsi:type="string">Magento\Catalog\Model\Product\AttributeSet\Options</item>
                <item name="dataScope" xsi:type="string">formats</item>
            </item>
        </argument>
    </field>

Terima kasih

stratrat
sumber

Jawaban:

19

Anda bisa menambahkan seperti ini

<field name="formats">
    <argument name="data" xsi:type="array">
        <item name="options" xsi:type="object">Magento\Catalog\Model\Product\AttributeSet\Options</item>
        <item name="config" xsi:type="array">
            <item name="dataType" xsi:type="string">text</item>
            <item name="label" xsi:type="string" translate="true">Formats</item>
            <item name="formElement" xsi:type="string">select</item>
            <item name="source" xsi:type="string">modulename</item>
            <item name="dataScope" xsi:type="string">formats</item>
            <item name="default" xsi:type="string">0</item>
            <item name="validation" xsi:type="array">
                <item name="required-entry" xsi:type="boolean">true</item>
            </item>
        </item>
    </argument>
</field>
Priyank
sumber
Jenius! Bolehkah saya bertanya dari mana Anda mendapatkan informasi ini untuk referensi di masa mendatang?
stewrat
Anda berada di tempat yang tepat kawan. Terus mencari :)
Priyank
@Priyank dari mana modulenamedari <item name="source" />didefinisikan? Saya mencoba milik saya dari module.xml, routes.xml tetapi ini tidak berhasil. Saya menerima pesan kesalahan ini: prntscr.com/d9c73e
Vasilii Burlacu
@Vasilii jika modulename Anda adalah nama modul yang Anda buat. Untuk misalnya jika dalam untuk modul Magento_Catalog katalog adalah modulename.
Priyank
@ Prayank itu tidak bekerja seperti yang Anda gambarkan. Saya ingin tahu apakah sumber membuat referensi ke model modul atau file .php lainnya yang berisi opsi pilih. PS Saya coba ini dengan multiselecttipe untuk formElement.
Vasilii Burlacu
1

Ini adalah pendekatan yang lebih umum paling tidak pada Magento 2.3:

<field name="image_overlay_art" sortOrder="40" formElement="select">
    <settings>
        <dataType>int</dataType>
        <label translate="true">Show Art on Image Overlay</label>
    </settings>
    <formElements>
        <select>
            <settings>
                <options class="\Magento\Config\Model\Config\Source\Yesno"/>
            </settings>
        </select>
    </formElements>
</field>
bassplayer7
sumber