Tipo di campo Magento 2 attivato / disattivato


8

Voglio creare un'opzione di input di attivazione / disattivazione in magento 2 in questo modo:

inserisci qui la descrizione dell'immagine

ma non so che tipo di campo sia, in questo momento sto usando il menu a discesa Seleziona in questo modo:

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

Fammi sapere se hai qualche problema.
Prince Patel,

hai trovato la soluzione
Jaisa

Ho bisogno dello stesso pulsante di attivazione / disattivazione nel mio nuovo metodo di pagamento, ragazzi, per favore, guidatemi, come posso farlo. si prega di seguire il link. magento.stackexchange.com/questions/296371/…
irshad

Risposte:


17

Questo è il campo modulo casella di controllo . Che è incluso nella libreria dei componenti dell'interfaccia utente. Non puoi usare questo interruttore in $fieldset->addField(). È necessario creare un modulo con il componente UI per creare questo tipo di interruttore.

<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
Ciao, puoi mostrare o condividere un collegamento per il componente Js per questa casella di controllo che nasconde i campi on / off
Ajwad Syed

@AjwadTaqvi Controlla questi componentiMagento_Catalog/js/components/visible-on-option/yesno
Prince Patel,

Ciao principe La tua risposta è abbastanza buona Lo sto usando per aggiungere un nuovo campo nella sezione del valore dell'opzione personalizzata. Posso creare l'interruttore a levetta con l'aiuto del tuo codice e salvare il valore nel database. Ma il problema è che l'interruttore non è selezionato per impostazione predefinita in base a un valore del database. C'è qualcosa che devo fare per quello? Tipo, aggiungi un codice di script ecc.?
Indiano,

0

Mentre raccomando di usare il metodo del componente dell'interfaccia utente. È possibile utilizzare il seguente modo (leggermente arrotondato) per aggiungere una casella di spunta se si dispone solo di 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>
        '
    ]
);
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.