Magento 2フォームフィールド切り替えタイプ


8

次のように、magento 2で入力切り替えオプションを作成します。

ここに画像の説明を入力してください

フィールドの種類がわからないので、現在は次のような選択ドロップダウンを使用しています。

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

問題が発生した場合はお知らせください。
Patel王子、2017年

yoy

新しい支払い方法に同じトグルボタンが必要です。どうすれば達成できますか。リンクをたどってください。magento.stackexchange.com/questions/296371/…–
irshad

回答:


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 Syed

@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>
        '
    ]
);
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.