Magento 2のadminhtmlフォームに時間範囲ピッカーを追加するにはどうすればよいですか?


9

Magento 2のdevdocsページには、時間範囲ピッカーの例があり ますここに画像の説明を入力してください しかし、カスタムモデルの作成/編集用のバックエンドフォームに追加する方法の例は見つかりません。これを行う方法について誰か誰か知っていますか?

また、mysqlデータベースに保存する方法について質問があります。このピッカーは、入力された時間を格納するために2つのフィールド(「from」と「to」)を必要としますか?


これは、uiComponentsdevdocs.magento.com / guides / v2.3/ ui_comp_guide / howto / を追加する方法へのリンクです。同じ行に沿って、dbに保存する属性を作成し、表示するxmlを作成します。
djfordz 2018

@jurgenこの問題の解決策を見つけたことがありますか?
fmsthird

いいえ、Magento2を使用していません
jurgen

回答:


0

これを試して、

app\code\Namespace\Module\Block\Adminhtml\Custom\Edit\Form.php

$fieldset->addField(
            'from',
            'time',
            [
                'name' => 'from',
                'label' => __('From'),
                'title' => __('From'),
                'required' => true,
                'note' => __('From Timer')
            ]
        );

$fieldset->addField(
            'to',
            'time',
            [
                'name' => 'to',
                'label' => __('To'),
                'title' => __('To'),
                'required' => true,
                'note' => __('To Timer')
            ]
        );

toとfromの値を保存するデータベースにフィールドを作成します。

コントローラーファイルでは、

public function saveData()
{
   $data = $this->getRequest()->getPostValue();
   $model = $this->_objectManager->create('Namespace\Module\Model\Custom');
   $model->setData($data);
   $model->save();
}

私はこれを以前に試しました。このコードは、垂直に配置された2つの時間フィールドを追加します。(各曜日に)7つの時間範囲ピッカーが必要な場合、非常に扱いにくいように見えます。少なくとも1行に配置したかったのですが、上の図のように正確に配置するのが望ましいです。私の意見では、この時間範囲ピッカーはMagento 2のデザインパターンにのみ存在し、まだ実装されていません。今のところ、単一のテキストフィールドとブートストラップ日付範囲ピッカーを使用して作成し、時間範囲のみを表示するようにカスタマイズしました。結果自分のタスクに適したテキスト形式(「10:00-15:00」など)でDBに保存します。
jurgen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.