Magento 2表单字段切换类型


8

我想在magento 2中创建一个切换输入选项,如下所示:

在此处输入图片说明

但我不知道这是什么类型的字段,现在我正在使用选择下拉列表,如下所示:

$fieldset->addField(
            'featured',
            'select',
            [
                'label' => __('Featured'),
                'title' => __('Featured'),
                'required' => true,
                'options' => ['1' => __('Yes'), '0' => __('No')],
                'value' => $partner['featured']
            ]
        );

如果您有任何问题,请告诉我。
帕特尔王子(Prince Patel)

yoy找到解决方案了

我需要在新的付款方式中使用相同的切换按钮,请您指导我如何实现此操作。请点击链接。magento.stackexchange.com/questions/296371/…–
irshad,

Answers:


17

这是复选框表单字段。包含在UI组件库中。您不能在中使用此切换$fieldset->addField()。您需要使用UI组件创建一个表单才能创建这种类型的切换。

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

1
嗨,你可以显示或本切换复选框份额链接的js组件隐藏字段开/关
Ajwad赛

@AjwadTaqvi检查此组件Magento_Catalog/js/components/visible-on-option/yesno
Patel王子,

嗨,王子。你的回答很好。我正在使用它在自定义选项值部分添加新字段。我可以借助您的代码创建切换开关,并将值保存在数据库中。但是问题在于,默认情况下未根据数据库值选择切换。我有什么需要做的吗?喜欢,添加脚本代码等?
印度

0

虽然我建议使用Ui组件方法。如果只有addField供您使用,则可以使用以下方式(略为回旋处)添加切换复选框。

$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>
        '
    ]
);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.