Bagaimana cara menambahkan pemilih rentang waktu ke formulir adminhtml di Magento 2?

9

Di halaman devdocs Magento 2 ada contoh pemilih rentang waktu . masukkan deskripsi gambar di sini Tapi, saya tidak dapat menemukan contoh bagaimana menambahkannya di formulir backend saya untuk membuat / mengedit model kustom. Adakah yang tahu cara melakukan ini?

Juga, saya punya pertanyaan tentang cara menyimpannya di database mysql . Apakah pemilih ini membutuhkan 2 bidang ("dari" dan "ke") untuk menyimpan waktu yang dimasukkan?

jurgen
sumber
Berikut ini adalah tautan ke cara menambahkan uiComponents devdocs.magento.com/guides/v2.3/ui_comp_guide/howto/… Ini sejalan, buat atribut untuk disimpan dalam db, buat xml untuk ditampilkan.
djfordz
@ jurgen apakah Anda pernah menemukan solusi untuk ini?
fmsthird
Tidak, saya tidak lagi bekerja dengan Magento2
jurgen

Jawaban:

0

Coba ini,

Dibawah 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')
            ]
        );

Buat bidang dalam basis data untuk menyimpan nilai ke dan dari.

Dalam file pengontrol,

public function saveData()
{
   $data = $this->getRequest()->getPostValue();
   $model = $this->_objectManager->create('Namespace\Module\Model\Custom');
   $model->setData($data);
   $model->save();
}
saravanavelu
sumber
Saya sudah mencoba ini sebelumnya. Kode ini menambahkan dua bidang waktu yang diposisikan secara vertikal. Jika saya membutuhkan 7 pemetik rentang waktu (untuk setiap hari dalam seminggu) itu terlihat sangat rumit. Saya ingin menempatkannya setidaknya dalam satu baris tetapi sangat diinginkan untuk membuatnya persis seperti pada gambar di atas. Pendapat saya adalah bahwa pemilih rentang waktu ini hanya ada dalam pola desain Magento 2 dan belum memiliki implementasi. Untuk saat ini saya membuatnya menggunakan bidang teks tunggal dan Bootstrap Date Range Picker, disesuaikan untuk hanya menampilkan rentang waktu. Hasil yang saya simpan dalam DB dalam format teks ("10: 00-15: 00" misalnya) yang cocok untuk tugas saya.
jurgen