Magento 2 Formularfeld umgeschalteter Typ


8

Ich möchte eine Umschalt-Eingabeoption in Magento 2 wie folgt erstellen:

Geben Sie hier die Bildbeschreibung ein

aber ich weiß nicht, was für ein Feld das ist, im Moment verwende ich ein Dropdown-Menü wie folgt:

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

Lassen Sie mich wissen, wenn Sie ein Problem haben.
Prinz Patel

Haben Sie die Lösung gefunden
Jaisa

Ich brauche den gleichen Umschaltknopf in meiner neuen Zahlungsmethode. Könnt ihr bitte anleiten, wie ich das erreichen kann? Bitte folgen Sie dem Link. magento.stackexchange.com/questions/296371/...
irshad

Antworten:


17

Dies ist das Kontrollkästchen- Formularfeld. Welches ist in der UI-Komponentenbibliothek enthalten. Sie können diesen Schalter nicht verwenden $fieldset->addField(). Sie müssen ein Formular mit einer UI-Komponente erstellen, um diese Art der Umschaltung zu erstellen.

<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
Hallo, können Sie den Link für die Js-Komponente für dieses Kontrollkästchen zum
Umschalten anzeigen oder freigeben

@ AjwadTaqvi Überprüfen Sie diese KomponentenMagento_Catalog/js/components/visible-on-option/yesno
Prince Patel

Hallo Prinz. Ihre Antwort ist ziemlich gut. Ich verwende es, um ein neues Feld im Abschnitt mit den benutzerdefinierten Optionswerten hinzuzufügen. Ich kann den Kippschalter mit Hilfe Ihres Codes erstellen und den Wert in der Datenbank speichern. Das Problem ist jedoch, dass der Umschalter nicht standardmäßig gemäß einem Datenbankwert ausgewählt ist. Muss ich dafür etwas tun? Möchten Sie einen Skriptcode usw. hinzufügen?
Indianer

0

Ich empfehle zwar die Verwendung der Ui-Komponentenmethode. Sie können die folgende (leicht umlaufende ) Methode verwenden, um ein Kontrollkästchen zum Umschalten hinzuzufügen, wenn Sie nur über addField verfügen .

$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>
        '
    ]
);
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.