ฉันจะแก้ไข datepicker เริ่มต้นใน CakePHP 3.6 ได้อย่างไร

ฉันใช้ datepicker เริ่มต้นดังนี้:

echo $this->Form->control(
    'created',
    [
        'label' => __('Start date'),
        'type' => 'date',
        'id' => 'datetimepicker',
        'default' => date('d-m-Y') #Set time for today
    ]
);

แต่มันน่าเกลียดมาก:

ป้อนคำอธิบายรูปภาพที่นี่

เป็นไปได้ไหมที่จะเปลี่ยนเป็น datepicker ที่เหมาะสมพร้อมปฏิทินแทนที่จะเป็น 3 ฟิลด์แบบเลื่อนลง

ถ้าไม่เช่นนั้น อย่างน้อยที่สุดก็สามารถเปลี่ยนลำดับของฟิลด์และภาษาได้?

แก้ไข

หลังจากข้อเสนอแนะความคิดเห็น ฉันตัดสินใจใช้ jquery datepicker เช่นนี้:

echo $this->Form->control('created', ['label' => 'Start date']);

<script>
  $( function() {
    $( "#created" ).datepicker();
  } );
  </script>

แต่ (อาจเป็นไปได้) เนื่องจาก created id อยู่ในโมเดล จึงมีการลบล้างมันและแสดง datepicker เริ่มต้นเดียวกัน ฉันจึงต้องเปลี่ยน id เพื่อให้ทำงานได้ แต่ค่าของมันจะไม่ถูกบันทึก....

ถ้าฉันตั้งค่าประเภทเป็นข้อความ มันจะแสดงปฏิทิน jquery แต่วันที่ที่บันทึกคือ 0000-00-00 00:00:00


person netdev    schedule 19.10.2018    source แหล่งที่มา
comment
ใช้ปลั๊กอิน datepicker ของบุคคลที่สาม   -  person Confused    schedule 19.10.2018
comment
แน่นอนว่าทุกวันนี้ใช้บางอย่างเช่น Jquery UI (แบบเก่า) แต่ฉันเจอพวก Jquery UI ในบอสตันเมื่อประมาณ 6 ปีที่แล้ว ฉันยังมีสติกเกอร์เก๋ๆ อยู่ด้วย... :-) (ฉันค่อนข้างจะน้อย) ลำเอียง)   -  person ArtisticPhoenix    schedule 19.10.2018
comment
ใช้ประเภท text และรวม JS datepicker lib ใด ๆ   -  person Girish    schedule 19.10.2018
comment
@Girish อย่างที่คุณเห็นในโพสต์ที่แก้ไขของฉันฉันใช้ประเภทข้อความ แต่ค่าจะไม่ถูกบันทึก   -  person netdev    schedule 19.10.2018
comment
@netdev ตัวช่วยแบบฟอร์มเป็นประเภทฟิลด์ที่สร้างอัตโนมัติ คุณสามารถเปลี่ยนได้จาก pass type like echo $this->Form->input('created', ['label' => 'Start date', 'type' => 'text']);   -  person Girish    schedule 19.10.2018
comment
@Girish ฉันทำอย่างนั้นแต่มันไม่ได้บันทึกค่าอย่างถูกต้อง มันบันทึกไว้แบบนี้ 0000-00-00 00:00:00   -  person netdev    schedule 19.10.2018
comment
ใช่ คุณจะต้องปรับแต่งใน Model / Controller และการตรวจสอบความถูกต้องของเค้ก ก่อนที่จะบันทึก โปรดตั้งค่าคุณสมบัติในเอนทิตี $tableEntity->set('created', $this->request->data('created')); FYI: รูปแบบข้อมูลควร Y-m-d H:i:s   -  person Girish    schedule 19.10.2018
comment
@Girish คุณช่วยอธิบายเพิ่มเติมได้ไหม? ฉันเพิ่มบรรทัดนี้ใน Model/Entity/CustomerServiceType.php แต่ฉันได้รับข้อผิดพลาด › ข้อผิดพลาดทางไวยากรณ์, '$tableEntity' ที่ไม่คาดคิด (T_VARIABLE), ฟังก์ชันที่คาดหวัง (T_FUNCTION) หรือ const (T_CONST)   -  person netdev    schedule 19.10.2018
comment
stackoverflow.com/questions/33734683/   -  person ndm    schedule 19.10.2018
comment
@ndm ขอบคุณที่ทำกลอุบาย   -  person netdev    schedule 19.10.2018