วิธีการเรียกใช้ฟิว name_th-TH และ name_en-GB ในตารางเดียวกันไม่ไห้ error

แชร์ ความรู้ในการ พัฒนา Joomla Component Extension Module Plugin

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
jamepiyawat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 662
ลงทะเบียนเมื่อ: 21/05/2019 10:45 am

วิธีการเรียกใช้ฟิว name_th-TH และ name_en-GB ในตารางเดียวกันไม่ไห้ error

โพสต์โดย jamepiyawat » 19/07/2019 2:09 pm

ผมได้ทำ 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
Selection_999(051).png (4.89 KiB) เปิดดู 38 ครั้ง


หน้าภาษาอังกฤษ
Selection_999(052).png
Selection_999(052).png (4.69 KiB) เปิดดู 38 ครั้ง


เป็นอย่างไรกันบ้างครับสำหรับวิธีการเรียกใช้ฟิว name_th-TH และ name_en-GB ออกมาใช้คงจะเข้าใจกันนะครับก็เป็นวิธีที่ไม่ยากสำหรับนักพัฒนาเว็บไซต์โดยใช้ joomla นั้นเองก็หวังว่าจะได้รุบความรู้กันไปพัฒนาเว็บไซต์กันต่อไม่มากก็น้อยนะครับ

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 4 และ บุคคลทั่วไป 0 ท่าน