Magento 2 form isian jenis toggled

8

Saya ingin membuat opsi masukan sakelar di magento 2 seperti ini:

masukkan deskripsi gambar di sini

tetapi saya tidak tahu jenis bidang apa itu, saat ini saya menggunakan dropdown pilih seperti ini:

$fieldset->addField(
            'featured',
            'select',
            [
                'label' => __('Featured'),
                'title' => __('Featured'),
                'required' => true,
                'options' => ['1' => __('Yes'), '0' => __('No')],
                'value' => $partner['featured']
            ]
        );
Pemburu
sumber
Beri tahu saya jika Anda memiliki masalah.
Pangeran Patel
apakah kamu menemukan solusinya
Jaisa
Saya perlu tombol sakelar yang sama dalam metode pembayaran baru saya, tolong panduan bagaimana saya bisa mencapainya. silakan ikuti tautan. magento.stackexchange.com/questions/296371/…
irshad

Jawaban:

17

Ini adalah bidang formulir kotak centang . Yang termasuk dalam pustaka Komponen UI. Anda tidak dapat menggunakan sakelar ini $fieldset->addField(). Anda perlu membuat formulir dengan komponen UI untuk membuat jenis beralih ini.

<field name="status">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="sortOrder" xsi:type="number">10</item>
            <item name="dataType" xsi:type="string">boolean</item>
            <item name="formElement" xsi:type="string">checkbox</item>
            <item name="source" xsi:type="string">category</item>
            <item name="prefer" xsi:type="string">toggle</item>
            <item name="label" xsi:type="string" translate="true">Status</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="validation" xsi:type="array">
                <item name="required-entry" xsi:type="boolean">false</item>
            </item>
            <item name="default" xsi:type="string">1</item>
        </item>
    </argument>
</field>
Pangeran Patel
sumber
1
Hai, Bisakah Anda menampilkan atau berbagi tautan untuk komponen Js untuk kotak centang toggle ini yang menyembunyikan on / off field
Ajwad Syed
@AjwadTaqvi Periksa komponen iniMagento_Catalog/js/components/visible-on-option/yesno
Prince Patel
Hai Pangeran. Jawaban Anda cukup bagus. Saya menggunakannya untuk menambahkan bidang baru di bagian nilai opsi kustom. Saya bisa membuat toggle switch dengan bantuan kode Anda dan menyimpan nilai dalam database. Tetapi masalahnya adalah bahwa toggle tidak dipilih secara default sesuai dengan nilai database. Apakah ada yang perlu saya lakukan untuk itu? Suka, tambahkan kode skrip dll?
India
0

Sementara saya merekomendasikan menggunakan metode komponen Ui. Anda dapat menggunakan cara (sedikit bundaran) berikut untuk menambahkan kotak centang toggle jika Anda hanya memiliki addField yang Anda inginkan.

$fieldset->addField(
    'my_field',
    'checkbox',
    [
        'label' => __('My field label'), 
        'required' => false, 
        'value' => '1', 
        'name' => 'my_field', 
        'class' => 'admin__actions-switch-checkbox', 
        'after_element_js' => '
            <label class="admin__actions-switch-label" for="my_field">
                <span class="admin__actions-switch-text" data-text-on="'.__('Yes').'" data-text-off="'.__('No').'"></span>
            </label>
        '
    ]
);
sduif
sumber