วิธีแก้โมดูล Joomla แสดงผิดตำแหน่ง

ถ้าโมดูล Joomla แสดงผิดตำแหน่ง ให้ตรวจช่อง Position ของโมดูลก่อน แล้วเทียบกับตำแหน่งที่เทมเพลตใช้อยู่จริง จากนั้นตรวจสไตล์เทมเพลตของหน้า การกำหนดหน้าแสดงโมดูล และลำดับโมดูล เพราะชื่ออย่าง left หรือ top ไม่ได้ยืนยันตำแหน่งบนหน้าจอโดยตรง

❶ ตรวจตำแหน่งที่เทมเพลตใช้จริง

ตำแหน่งโมดูลเป็นจุดที่เทมเพลตเตรียมไว้สำหรับแสดงเนื้อหา ผู้พัฒนาเทมเพลตเป็นผู้กำหนดว่าจะวางแต่ละตำแหน่งไว้ส่วนใดของหน้า

① เปิดแผนผังตำแหน่งโมดูล

  1. ไปที่ System → Site Templates
  2. เลือก Options จากแถบเครื่องมือ
  3. เปิด Preview Module Positions
  4. บันทึกการตั้งค่า
  5. เปิดหน้าที่ต้องการตรวจ แล้วเติม ?tp=1 ต่อท้าย URL

ถ้า URL มีเครื่องหมายคำถามอยู่แล้ว ให้เติม &tp=1 แทน เมื่อหน้าแสดงกรอบตำแหน่ง ให้จดชื่อกรอบที่ต้องการใช้ แล้วนำไปเลือกในช่อง Position ของโมดูล

② เลือกตำแหน่งจากรายการของเทมเพลต

กลับไปที่ Content → Site Modules แล้วเปิดโมดูลที่แสดงผิดตำแหน่ง เลือกชื่อ Position ที่ตรงกับกรอบบนหน้าเว็บ หากตำแหน่งที่ต้องการไม่มีในรายการ ให้ตรวจว่าเลือกเทมเพลตหรือสไตล์ที่ถูกต้องหรือไม่

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

③ ปิดโหมดดูตำแหน่งเมื่อเสร็จ

เมื่อได้ตำแหน่งที่ต้องการแล้ว ให้ปิด Preview Module Positions เพื่อไม่ให้กรอบตรวจสอบปรากฏบนเว็บไซต์ที่เปิดให้ผู้เข้าชมใช้งาน

❷ ตรวจสไตล์เทมเพลตและหน้าที่แสดงโมดูล

โมดูลเดียวกันอาจดูเหมือนอยู่คนละตำแหน่ง หากแต่ละหน้าถูกกำหนดให้ใช้สไตล์เทมเพลตต่างกัน หรือโมดูลถูกตั้งให้แสดงเฉพาะบางรายการเมนู

① ตรวจสไตล์ของหน้าที่มีปัญหา

เปิดรายการเมนูของหน้าที่โมดูลแสดงผิด แล้วตรวจการกำหนด Template Style หากหน้าใช้สไตล์อื่น ให้ตรวจว่าตำแหน่งเดียวกันมีอยู่ในสไตล์นั้นด้วย

② ตรวจการกำหนดหน้าแสดงโมดูล

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

หากโมดูลปรากฏในหน้าที่ไม่ควรแสดง ให้ตรวจว่าตั้งเป็น On all pages โดยไม่ตั้งใจหรือไม่ และแก้เป็นเฉพาะหน้าที่ต้องการ

③ ตรวจภาษาและสิทธิ์การเข้าถึง

หากเว็บไซต์มีหลายภาษา ให้ตรวจช่อง Language ของโมดูลว่าตรงกับหน้าปัจจุบันหรือเลือก All ตามความต้องการ ตรวจ Access ด้วยว่าผู้เข้าชมกลุ่มที่ทดสอบมีสิทธิ์เห็นโมดูลหรือไม่

❸ จัดลำดับและรูปแบบโมดูล

บางครั้งโมดูลอยู่ในตำแหน่งที่ถูกต้อง แต่ดูเหมือนผิดเพราะเรียงอยู่เหนือหรือใต้โมดูลอื่น หรือใช้รูปแบบแสดงผลที่ไม่เหมาะกับตำแหน่งนั้น

① ปรับลำดับในตำแหน่งเดียวกัน

ในหน้าแก้ไขโมดูล เลือกค่า Module Ordering เพื่อกำหนดว่าโมดูลควรอยู่ก่อนหรือหลังโมดูลอื่นในตำแหน่งเดียวกัน หรือจัดลำดับจากหน้ารายการโมดูลตามเครื่องมือที่มีในเวอร์ชัน Joomla

② ตรวจ Layout และ Module Style

ตรวจตัวเลือก Layout และ Module Style หากเทมเพลตมีรูปแบบให้เลือก โมดูลที่ย้ายจากแถบด้านข้างไปส่วนหัวอาจต้องใช้ Layout อีกแบบเพื่อให้แสดงผลเหมาะสม

③ แสดงโมดูลเดียวกันมากกว่าหนึ่งตำแหน่ง

ถ้าต้องการให้โมดูลชนิดเดียวกันแสดงสองตำแหน่ง ให้สร้างสำเนาโมดูลอีกชุดแล้วกำหนด Position แยกกัน การเปลี่ยนตำแหน่งของโมดูลเดิมไปมาอาจทำให้ตำแหน่งหนึ่งไม่มีโมดูลแสดง

❹ ทดสอบผลและแก้กรณียังแสดงผิด

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

① ล้างแคชแล้วโหลดหน้าใหม่

ล้างแคชของ Joomla และเบราว์เซอร์ หากเว็บไซต์ใช้แคชของโฮสติ้งหรือ CDN ให้ล้างส่วนนั้นด้วย แล้วเปิดหน้าเว็บใหม่เพื่อดูผลการตั้งค่าล่าสุด

② ตรวจตำแหน่งที่ซ่อนตามเงื่อนไข

บางเทมเพลตแสดงตำแหน่งเฉพาะเมื่อมีโมดูลที่เผยแพร่อยู่ในตำแหน่งนั้น หากยังไม่เห็นกรอบตำแหน่ง ให้ทดลองเผยแพร่โมดูลทดสอบชั่วคราวในตำแหน่งดังกล่าว แล้วตรวจซ้ำ

③ ตรวจ CSS หรือการตั้งค่าของส่วนเสริม

หากตำแหน่งและการกำหนดหน้าถูกต้อง แต่โมดูลยังดูผิด ให้ตรวจ CSS ที่ปรับเองว่ามีกฎซ่อน ย้าย หรือกำหนดความกว้างให้โมดูลหรือไม่ และตรวจตัวเลือกของโมดูลว่ามีคลาสหรือ Layout พิเศษที่ส่งผลต่อการจัดวางหรือเปล่า

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