Tipo de campo de formulario de Magento 2 activado


8

Quiero crear una opción de entrada de alternar en magento 2 como esta:

ingrese la descripción de la imagen aquí

pero no sé qué tipo de campo es ese, ahora estoy usando el menú desplegable de selección de esta manera:

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

Avísame si tienes algún problema.
Prince Patel

¿Encontraste la solución?
Jaisa

Necesito el mismo botón de alternancia en mi nuevo método de pago. ¿Pueden guiarme cómo puedo lograrlo? por favor siga el enlace. magento.stackexchange.com/questions/296371/…
irshad

Respuestas:


17

Este es el campo de formulario de casilla de verificación . Que se incluye en la biblioteca de componentes de la interfaz de usuario. No puedes usar esta palanca $fieldset->addField(). Debe crear un formulario con el componente UI para crear este tipo de alternar.

<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
Hola, ¿Puede mostrar o compartir enlace para el componente Js para esta casilla de palanca que los campos de cueros de encendido / apagado
Ajwad Syed

@AjwadTaqvi Compruebe estos componentesMagento_Catalog/js/components/visible-on-option/yesno
Prince Patel,

Hola príncipe Tu respuesta es bastante buena. Lo estoy usando para agregar un nuevo campo en la sección de valores de opciones personalizadas. Puedo crear el interruptor de palanca con la ayuda de su código y guardar el valor en la base de datos. Pero el problema es que la palanca no está seleccionada de manera predeterminada de acuerdo con un valor de base de datos. ¿Hay algo que deba hacer para eso? Como, ¿agregar un código de script, etc.?
Indio

0

Si bien recomiendo usar el método del componente Ui. Puede usar la siguiente forma (ligeramente indirecta) para agregar una casilla de verificación de alternancia si solo tiene addField a su disposición.

$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>
        '
    ]
);
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.