วิธีสร้าง Template Override ใน Joomla เพื่อปรับหน้าบทความ

สร้าง Template Override สำหรับหน้าบทความได้จากหน้าจัดการไฟล์ของ Site Template โดยเลือก Override ของ Articles หรือ com_content แล้วแก้ไฟล์สำเนาที่ Joomla สร้างให้ วิธีนี้เหมาะกับการปรับโครงสร้างหรือการจัดวางเนื้อหา หากต้องการเปลี่ยนแค่สีหรือขนาดตัวอักษร ควรใช้ CSS ก่อน

❶ เตรียมก่อนสร้าง Override

Override จะทำงานกับเทมเพลตที่สร้างไฟล์ไว้ จึงควรตรวจว่าเว็บไซต์ใช้ Template Style ใด และทดลองบนเว็บสำเนาก่อนแก้ไฟล์

① สำรองเว็บไซต์

สำรองไฟล์และฐานข้อมูลก่อนเริ่ม รวมถึงเก็บสำเนาไฟล์ Override ไว้ก่อนแก้ไข เพื่อให้ย้อนกลับได้หากหน้าเว็บแสดงผลผิด

② ระบุสิ่งที่ต้องการปรับ

กำหนดว่าต้องการเปลี่ยนอะไร เช่น ลำดับการแสดงข้อมูล การจัดกลุ่มองค์ประกอบ หรือโครงสร้างหน้า หากต้องการแค่ปรับสี ระยะห่าง หรือขนาด ให้เริ่มจาก CSS เพราะไม่จำเป็นต้องแก้ไฟล์ PHP ของหน้าบทความ

❷ สร้าง Override ของหน้าบทความ

ใน Joomla 5 ไปที่ System → Templates Panel → Site Templates แล้วเลือกเทมเพลตที่ใช้งานอยู่

① เปิดแท็บ Create Overrides

ในหน้าแก้ไขไฟล์ของเทมเพลต เลือกแท็บ Create Overrides เพื่อดูรายการ Component, Module และ Layout ที่ Joomla สร้าง Override ให้ได้

② เลือก Articles แล้วเลือก Article

ขยาย Components → Articles (com_content) แล้วเลือก Article เพื่อสร้าง Override สำหรับหน้าแสดงบทความเดี่ยว ไม่ใช่หน้ารายการบทความหรือหน้าหมวดหมู่

③ ตรวจไฟล์ที่ Joomla สร้าง

หลังสร้างเสร็จ เปิดแท็บ Editor แล้วค้นหาไฟล์ในโฟลเดอร์ลักษณะนี้:

html/com_content/article/default.php

ไฟล์นี้เป็นสำเนา Layout ที่เทมเพลตใช้แทนไฟล์ต้นฉบับของ Articles

❸ แก้ Layout ของหน้าบทความ

ไฟล์ Override เป็น PHP ที่สร้าง HTML สำหรับแสดงผล ควรแก้เฉพาะส่วนที่ต้องการและระวังไม่ลบคำสั่งหรือข้อมูลที่ Joomla ใช้แสดงเนื้อหา

① ตรวจโครงสร้างก่อนแก้

อ่านไฟล์ default.php และดูว่ามีส่วนแสดงชื่อบทความ เนื้อหา ภาพ ข้อมูลผู้เขียน หรือวันที่เผยแพร่อยู่ตรงไหน หากไม่คุ้นกับ PHP ให้เริ่มจากแก้ข้อความหรือโครง HTML ในส่วนที่เข้าใจ และหลีกเลี่ยงการเปลี่ยนตัวแปรของ Joomla

② แก้ทีละส่วนและบันทึก

ทำสำเนาไฟล์ก่อน จากนั้นแก้การจัดวางหรือองค์ประกอบที่ต้องการทีละจุด บันทึกแล้วเปิดหน้าบทความตรวจผลทันที หากเกิดข้อผิดพลาด ให้คืนไฟล์สำรอง

③ ทดสอบหลายบทความ

ตรวจบทความที่มีภาพ บทความที่ไม่มีภาพ เนื้อหายาว และบทความที่มีข้อมูลเพิ่มเติม เพื่อดูว่า Override แสดงผลได้ครบทุกกรณี

❹ ตรวจผลและดูแลหลังอัปเดต

① ตรวจหน้าบทความบนหลายขนาดจอ

ดูว่าหัวข้อ ภาพ เนื้อหา และข้อมูลประกอบยังอ่านง่ายบนมือถือและคอมพิวเตอร์ รวมถึงตรวจว่าไม่มีส่วนใดหายหรือซ้อนกัน

② ตรวจเทมเพลตที่ใช้กับหน้า

Override อยู่ภายในเทมเพลตที่สร้างไว้ หากบทความบางหน้าใช้ Template Style คนละตัว อาจต้องสร้าง Override ให้เทมเพลตนั้นด้วย

③ ทบทวน Override หลังอัปเดต

หลังอัปเดต Joomla หรือส่วนเสริม ให้ตรวจหน้า Updated Files ในหน้าจัดการเทมเพลต หากไฟล์ต้นฉบับเปลี่ยน ให้เปรียบเทียบและทบทวน Override เพื่อให้เข้ากันได้กับเวอร์ชันใหม่

สำหรับเว็บไซต์ที่ ComSiam ดูแล ควรบันทึกเหตุผลที่สร้าง Override และสำรองไฟล์ก่อนแก้ทุกครั้ง เพื่อให้ดูแลต่อได้สะดวก

❺ ปัญหาที่พบบ่อย

① เลือก Override ผิดประเภท

หากต้องการปรับหน้าบทความเดี่ยว ให้เลือก Articles → Article ไม่ใช่ Articles Category หรือ Articles Featured ซึ่งใช้กับหน้ารายการคนละแบบ

② แก้ไฟล์แล้วไม่เห็นผล

ตรวจว่าแก้ไฟล์ในเทมเพลตที่หน้านั้นใช้อยู่หรือไม่ และตรวจว่าเว็บไซต์ใช้ Template Style อื่นกับเมนูหน้านั้นหรือเปล่า

③ หน้าแสดงข้อผิดพลาดหลังแก้ไฟล์

นำไฟล์สำรองกลับมาใช้ก่อน แล้วตรวจการแก้ไขล่าสุดทีละจุด หากไม่ชำนาญ PHP ควรให้ผู้พัฒนาที่มีความรู้ตรวจไฟล์

❻ สรุป

สร้าง Override โดยเปิด Site Templates เลือก Create Overrides แล้วเลือก Components → Articles → Article จากนั้นแก้ไฟล์ html/com_content/article/default.php ที่ Joomla สร้างให้ ใช้ Override เมื่อต้องปรับโครงสร้างหน้า หากต้องการเปลี่ยนเพียงรูปลักษณ์ให้เริ่มจาก CSS และทดสอบไฟล์บนเว็บสำเนาก่อนใช้งานจริง

การแยก Layout ที่ปรับแต่งออกจากไฟล์ต้นฉบับช่วยให้ ComSiam ดูแลหน้าบทความได้เป็นระบบ แต่ควรตรวจ Override หลังอัปเดตทุกครั้ง