แสดง DatePicker ปี พ.ศ. เป็นภาษาไทย ด้วย FilamentPHP

18 พฤษภาคม 2567 เวลาอ่าน 3 นาที
แสดง DatePicker ปี พ.ศ. เป็นภาษาไทย ด้วย FilamentPHP

ใน FilamentPHP มี Datepicker ช่วยให้เราแสดง การเลือกวันที่ใน form ได้อยู่แล้ว แต่ วันที่แสดงจะเป็น ภาษาอังกฤษและเป็นปี ค.ศ. ทีนี้ถ้าเว็บที่เราพัฒนามีผู้ใช้งานเป็นคนไทยอยู่แล้ว การแสดงวัน/เดือน/ปี ให้เป็นปี พ.ศ. และเป็นภาษาไทย ก็จะช่วยเพิ่ม User Experience และความเป็น User Frendly ให้เว็บของเราใช้งานง่ายขึ้นด้วยเช่นกัน

ผมเลยสร้าง package Filament Thai Date Picker ขึ้นมาเผื่อแก้ปัญหาตรงจุดนี้นะครับ

Filament Thai Date Picker

วิธิการติดตั้งใช้งาน

run คำสั่ง

composer require phattarachai/filament-thai-date-picker

วิธีการใช้งาน Thai Date Picker Form Component

วิธีการใช้งานสามารถเรียกใช้เหมือน DatePicker ตามปกติ แต่เปลี่ยนเป็นเรียกใช้คลาส ThaiDatePicker แทน ตามตัวอย่าง 

use Phattarachai/FilamentThaiDatePicker;

ThaiDatePicker::make('order_date')
    ->label('วันที่สั่งซื้อ')
    ->suffixIcon('heroicon-o-calendar')

โดยปี พ.ศ.จะใช้สำหรับการแสดงผลบน UI เท่านั้นเวลาใช้งาน state เพื่อบันทึกลงฐานข้อมูลจะได้เป็นปี ค.ศ. เหมือน DatePicker ตามปกติ

$data = $this->form->getState();
// $data['order_date'] = '2024-05-17'

นอกจากฟอร์มคอมโพเนนต์ ThaiDatePicker แล้ว package นี้ยังอำนวยความสะดวกในการแสดงผล วัน/เดือน/ปี พ.ศ. เป็นภาษาไทยใน Table และ Infolist ด้วยเช่นกัน

การแสดงวันที่ภาษาไทยใน Table Column

use Filament\Tables;

Tables\Columns\TextColumn::make('order_date')
    ->label('วันที่')
    ->thaidate()
    // สามารถระบุ date format ได้เหมือน function date_format ของ PHP
    // default format เป็น d M y 
    // เช่น 18 พ.ค. 67

การแสดงวันที่ภาษาไทยใน Infolist

use Filament\Infolists\Components\TextEntry;

TextEntry::make('order_date')
    ->label('วันที่สั่งซื้อ')
    ->thaidate(),
    // 18 พ.ค. 67

สามารถดูรายละเอียด package เพิ่มเติมได้ที่ GitHub

https://github.com/phattarachai/filament-thai-date-picker 

Phattarachai Chaimongkol

เกี่ยวกับ phattarachai.dev

ผมอ๊อฟนะครับ เป็นผู้ประกอบการอิสระ ที่ปรึกษาทางด้าน Web Application Development ให้แก่องค์กร ธุรกิจ SME และหน่วยงานราชการ
Web Developer ผู้มีใจรักใน Laravel เป็นพาร์ทเนอร์บริษัท Digital Agency ชั้นนำทางด้าน UX/UI เพื่อพัฒนาโปรเจคให้แก่ลูกค้า ผมช่วยสร้างเครื่องมือทางด้าน Web ที่มีคุณภาพให้ผู้ประกอบการดำเนินธุรกิจได้ง่ายขึ้นใช้งานได้จริง เน้นประสบการณ์ ความชำนาญ ผลงานคุ้มค่าเทียบเท่าจ้างงานกับบริษัทใหญ่ ๆ

ยามว่าง ๆ ชอบเล่นเกมส์บน Steam ครับ

เรื่องที่เกี่ยวข้อง

PHP function แสดงค่าเงินบาทเป็นภาษาไทย
18 พฤษภาคม 2567
PHP function แสดงค่าเงินบาทเป็นภาษาไทย
วิธีการเช็ค Detect Browser ผู้ใช้จาก Laravel
18 พฤษภาคม 2567
วิธีการเช็ค Detect Browser ผู้ใช้จาก Laravel
แปลงวันที่ภาษาไทย ด้วย thaidate() ใน PHP และ Laravel
18 พฤษภาคม 2567
แปลงวันที่ภาษาไทย ด้วย thaidate() ใน PHP และ Laravel