ผมได้ทำ
module แสดงสินค้าจึงทำให้จะเป็นจะต้องดึงชือสินค้าจากฟิว name_en-GB ขึ้นมาใช้แต่ถ้าเราเลือกใช้แค่ภาษาเดียวก็คงจะไม่ใช้เรื่องยากแต่อย่างไรแต่ถ้าเราจำเป็นจะต้องเรียกใช้ชื่อที่เป็นภาษาไทยด้วยจากฟิว name_th-TH ในตาราง เดียวกันมันก็คงจะเป็นเรื่องยากอยู่พอสมควรเราว่าถ้าเราเลือกออกมาใช้ตรง ๆ ข้อมูลที่เราดึกออกมาใช้ก็จะเพี้ยนไปเลยบทความนี้ก็จะเป็นวิธีการเรียกใช้ฟิว name_th-TH และ name_en-GB ออกมาใช้ได้โดยที่ข้อมูลที่เรียกออกมาใช้ไม่เพี้ยน
อันดับแรกให้เราทำการใช้โค้ดคำสั่งเช็คว่าเราเปิดใช้ภาษาอะไรอยู่
โค้ด: เลือกทั้งหมด
<?php $lang_tag = \Joomla\CMS\Factory::getLanguage()->getTag(); ?>
ในโค้ดนี้ก็จะเห็นได้ว่าเราจะเก็บค่าเอาไว้ในตัวแปล $lang_tag ซึ่งในตัวแปลนี้ก็จะเก็บค่าภาษาที่เราเปิดใช้งานอยู่ เช่นถ้าเราเปิดภาษาไทยตัวแปลก็จะเก็บคำว่า th-TH อยู่แต่ถ้าเราเปิดใช้เว็บเป็นภาษาอังกฤษอยู่ค่าที่เก็บก็จะเป็น en-GB นั้นเอง
ต่อจากนั้นก็ให้เราทำการเลือกฟิวชื่อสินค้า name_th-TH , name_en-GB ออกมาแบบนี้
โค้ด: เลือกทั้งหมด
->select($db->qn('a.name_'.$lang_tag).',a.product_id,a.image,b.category_id')
จะเห็นไดเราใส่แค่ name_ ส่วน th-TH หรือ en-GB เราก็จะนำตัวแปล $lang_tag มาใส่ทำให้เราพอเราเปิดใช้เว็บเป็นภาษาไทยก็จะเป็นการเลือกฟิว name_th-TH ออกมาใช้แต่ถ้าเราเปิดเป็นภาษาอังกฤษก็จะเป็นการที่เราเลือกฟิว name_en-GB ออกมาใช้นั้นเอง
การแสดงผลเราก็จะทำการเรียกใช้แบบนี้
โค้ด: เลือกทั้งหมด
<?php echo $product['name_'.$lang_tag]; ?>
หน้าภาษาไทย
- Selection_999(051).png (4.89 KiB) Viewed 518 times
หน้าภาษาอังกฤษ
- Selection_999(052).png (4.69 KiB) Viewed 518 times
เป็นอย่างไรกันบ้างครับสำหรับวิธีการเรียกใช้ฟิว name_th-TH และ name_en-GB ออกมาใช้คงจะเข้าใจกันนะครับก็เป็นวิธีที่ไม่ยากสำหรับนักพัฒนาเว็บไซต์โดยใช้
joomla นั้นเองก็หวังว่าจะได้รุบความรู้กันไปพัฒนาเว็บไซต์กันต่อไม่มากก็น้อยนะครับ