แก้ปัญหาใส่ iFrame ใน Joomla ไม่ได้

Post date: Aug 23, 2013 3:22:16 AM

เมื่อสองวันก่อนเพื่อนผมมีโจทย์มาให้ทำ โจทย์มีว่า “เว็บไซต์ของเขาใช้ Joomla อยู่ สมาชิกประเภท Publisher ต้องการ Post ข้อความ พร้อมกับมีวิดีโอของ Youtube แปะเข้าไปด้วย เขาทดลองใช้ iFrame วางบน code html แล้วก็ไม่สามารถ Post ได้ Joomla จะทำการตัด iframe ออกให้เองอัตโนมัติ แต่กรณีที่เป็น Admin หรือ Backend จะ Post ได้ไม่มีปัญหา แบบนี้จะทำยังไงดี” …..

ผมก็พยายามหลายวิธี เช่น update version Joomla ก็แล้ว เปลี่ยนเวอร์ชั่น JCE Editor ก็แล้ว ทดลองเปลี่ยน Editor หลายๆ ตัวก็แล้ว มันก็ยังไม่สามารถ Post ได้ อยู่ดี หามา 2 วันละ วันสุดท้ายจะถอดใจ ก็ลองเข้าไปแก้ไขโค๊ดตรงๆ เลย พยายามหาโค๊ดประเภทตัดคำ กรองคำ หรือ Filter ๆ นี่แหละ ก็เจอวิธีเอามาบอกันนะ

  1. เข้าไปที่ Path >> \libraries\joomla\filter
  2. จะเจอไฟล์ filterinput.php
  3. เปิด Edit ไฟล์นี้เลยครับ จะใช้ Dream หรือ Notepad หรืออะไรก็ได้
  4. บรรทัดที่ 37 จะมีโค๊ดว่า var $tagBlacklist = array (‘applet’, ‘body’, ‘bgsound’, ‘base’, ‘basefont’, ‘embed’, ‘frame’, ‘frameset’, ‘head’, ‘html’, ‘id’, ‘iframe’, ‘ilayer’, ‘layer’, ‘link’, ‘meta’, ‘name’, ‘object’, ‘script’, ‘style’, ‘title’, ‘xml’);
  5. เอาคำว่า ,’iframe’ ออกครับ เหลือแค่ var $tagBlacklist = array (‘applet’, ‘body’, ‘bgsound’, ‘base’, ‘basefont’, ‘embed’, ‘frame’, ‘frameset’, ‘head’, ‘html’, ‘id’, ‘ilayer’, ‘layer’, ‘link’, ‘meta’, ‘name’, ‘object’, ‘script’, ‘style’, ‘title’, ‘xml’); ก็พอ
  6. ถ้าอยากเอาอะไรออกก็เชิญตามสบาย Save แล้ว upload ไปทับไฟล์ที่ path ในเว็บได้เลย รับรองแก้ปัญหาได้

จบ