จะเพิ่มตัวเลือกช่วงเวลาให้กับฟอร์ม adminhtml ใน Magento 2 ได้อย่างไร


9

ในวีโอไอพี 2 หน้า devdocs มีตัวอย่างของการ เลือกช่วงเวลา ป้อนคำอธิบายรูปภาพที่นี่ แต่ฉันไม่สามารถหาตัวอย่างของวิธีการเพิ่มลงในแบบฟอร์มส่วนหลังของฉันสำหรับการสร้าง / แก้ไขโมเดลที่กำหนดเอง มีใครคิดบ้างเกี่ยวกับวิธีการทำเช่นนี้?

นอกจากนี้ฉันมีคำถามเกี่ยวกับวิธีการที่จะบันทึกไว้ในฐานข้อมูล mysql ตัวเลือกนี้ต้องการ 2 ฟิลด์ ("จาก" และ "ถึง") เพื่อเก็บเวลาที่ป้อนหรือไม่


นี่คือลิงก์ไปยังวิธีเพิ่ม uiComponents devdocs.magento.com/guides/v2.3/ui_comp_guide/howto/ ...... มันอยู่ในบรรทัดเดียวกันสร้างแอตทริบิวต์เพื่อบันทึกใน db สร้าง xml เพื่อแสดง
djfordz

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

สร้างฟิลด์ในฐานข้อมูลเพื่อบันทึกค่าเข้าและออก

ในไฟล์คอนโทรลเลอร์

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

ฉันเคยลองมาก่อนหน้านี้แล้ว รหัสนี้เพิ่มเขตเวลาสองตำแหน่งในแนวตั้ง ถ้าฉันต้องการตัวเลือกช่วงเวลา 7 ตัว (ในแต่ละวันของสัปดาห์) มันดูยุ่งยากมาก ฉันต้องการที่จะวางไว้อย่างน้อยหนึ่งบรรทัด แต่เป็นที่พึงปรารถนามากที่จะให้มันตรงตามภาพด้านบน ความคิดเห็นของฉันคือตัวเลือกช่วงเวลานี้มีเฉพาะในรูปแบบการออกแบบ Magento 2 และยังไม่มีการใช้งาน ตอนนี้ฉันสร้างมันโดยใช้ฟิลด์ข้อความเดียวและตัวเลือกช่วงวันที่ Bootstrap กำหนดเองเพื่อแสดงช่วงเวลาเท่านั้น ผลลัพธ์ฉันบันทึกใน DB ในรูปแบบข้อความ (ตัวอย่างเช่น "10: 00-15: 00") ที่เหมาะกับงานของฉัน
jurgen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.