Làm cách nào để thêm bộ chọn phạm vi thời gian vào dạng adminhtml trong Magento 2?


9

Trong các trang devdocs của Magento 2 có một ví dụ về bộ chọn phạm vi thời gian . nhập mô tả hình ảnh ở đây Nhưng, tôi không thể tìm thấy bất kỳ ví dụ nào về cách thêm nó vào biểu mẫu phụ trợ của mình để tạo / chỉnh sửa mô hình tùy chỉnh. Có ai có ý tưởng làm thế nào để làm điều này?

Ngoài ra, tôi có một câu hỏi về cách lưu nó trong cơ sở dữ liệu mysql . Bộ chọn này có cần 2 trường ("từ" và "đến") để lưu trữ thời gian đã nhập không?


Đây là một liên kết đến cách thêm uiComponents devdocs.magento.com/guides/v2.3/ui_comp_guide/howto/. Nó nằm dọc theo cùng một dòng, tạo các thuộc tính để lưu trong db, tạo xml để hiển thị.
djfordz

@jurgen bạn đã bao giờ tìm ra giải pháp cho cái này chưa?
fmsthird

Không, tôi không còn làm việc với Magento2
jurgen

Câu trả lời:


0

Thử đi,

Dưới 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')
            ]
        );

Tạo trường trong cơ sở dữ liệu để lưu các giá trị đến và từ.

Trong tập tin điều khiển,

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

Tôi đã thử điều này sớm hơn. Mã này thêm hai trường thời gian được định vị theo chiều dọc. Nếu tôi cần 7 bộ chọn phạm vi thời gian (cho mỗi ngày trong tuần) thì nó trông rất cồng kềnh. Tôi muốn đặt nó ít nhất trong một dòng nhưng rất mong muốn có nó chính xác như trên hình. Ý kiến ​​của tôi là bộ chọn phạm vi thời gian này chỉ tồn tại trong các mẫu thiết kế Magento 2 và chưa có triển khai. Hiện tại tôi đã tạo nó bằng cách sử dụng trường văn bản duy nhất và Bộ chọn Phạm vi Ngày Bootstrap, tùy chỉnh nó để chỉ hiển thị phạm vi thời gian. Kết quả Tôi lưu trong DB ở định dạng văn bản (ví dụ: "10: 00-15: 00") phù hợp với nhiệm vụ của tôi.
jurgen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.