Drupal 10: วันที่ภาษาไทย ปี พ.ศ. Thai Format ด้วย Views และ Twig

Drupal 10: วันที่ภาษาไทย ปี พ.ศ. Thai Format ด้วย Views และ Twig

ค่าเริ่มต้น by default ของโปรแกรม Drupal 10 หากจะให้แสดงข้อมูล วันที่ ก็จะมีรูปแบบการแสดงผลจำนวนหนึ่งเตรียมไว้ให้ใช้งาน แต่ทั้งหมดนั้นเป็นรูปแบบของภาษาอังกฤษ เช่น จะเอาวันที่ขึ้นก่อน หรือเอาเดือนขึ้นก่อน ก็เลือกได้ แต่ส่วนปีที่แสดงผล ก็จะเป็น ปี ค.ศ. คริสต์ศักราช

แล้วถ้าหากต้องการให้แสดงผล วันที่ เดือนภาษาไทย และ ปี พ.ศ. ล่ะ ต้องทำอย่างไร?

กรณีนี้คือ จะไม่ได้เรียกใช้โมดูล Language และ Interface Translation ในการแปลชื่อเดือนให้เป็นภาษาไทย แต่จะใช้คุณสมบัติการแปลงข้อมูลของ Views และคำสั่ง Twig ในการประมวลผล

โดยเขียนคำสั่ง Twig และ กำหนดตัวแปร ชื่อเดือน ขึ้นมา แล้วให้โปรแกรมคำนวณ จากนั้นก็ดึง ชื่อเดือน ที่เตรียมไว้ เอาไปใช้

ส่วนตัวเลข ปี พ.ศ. ก็ให้ ทำการ บวก +543 เข้าไป จาก ปี ค.ศ. ก็จะกลายเป็น ปี พ.ศ.

Drupal 10: Date Thai Format with Views and Twig วันที่ เดือนภาษาไทย และ ปี พ.ศ.

เข้าใน Views ที่ต้องการแก้ไข

เริ่มต้นด้วยการดึงข้อมูล Authored on (วันที่เขียน/ วันที่เผยแพร่)

เลือก Date format แบบ Custom

แล้วกำหนด Custom date format เป็น Y-m-d (ตรงนี้คือ รูปแบบ date ของภาษา PHP ทั่วไป)

จากนั้น เลื่อนลงมากำหนด Rewrite results แก้ไขการแสดงผล

เลือก Override the output of this field with custom text (Twig) ดังนี้

{% set m_th = ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"] %}
{{ output|date('j') }} {{ m_th[output|date('n') - 1] }} {{ output|date('Y') + 543 }}

ทั้งนี้ ให้แก้ไข ตัวแปร output ให้เป็น ตัวแปรที่ได้จาก Views (ในตัวอย่างนี้คือตัวแปร created__value)