เมื่อสองวันก่อนเพื่อนผมมีโจทย์มาให้ทำ โจทย์มีว่า “เว็บไซต์ของเขาใช้ 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 ในเว็บได้เลย รับรองแก้ปัญหาได้
หากคุณได้ติดตั้ง JCE เป็นบรรณาธิการเมื่อคุณเว็บไซต์ Joomla คุณอาจจะมีปัญหาในการฝัง Youtube, วิดีโออื่น ๆ หรืออะไรก็ตามที่ใช้แท็ก IFRAME ลงในบทความและโมดูล HTML. นี้เป็นเพราะโดยปกติ JCE ไม่อนุญาตให้เหล่านี้ แท็ก
มันเป็นเรื่องง่ายมากที่จะแก้ไข IFrame ฝังใน Joomla โดยการเปลี่ยนคู่ของการตั้งค่าการกำหนดค่าใน JCE.