May 16, 2012

f Comment

How to Tell Joomla to Accept HTML in Rich Text Editor AS IS?

First take a look at my Joomla version
Amazon The following is information shown by going to Site -> System Information.

PHP Built OnLinux ip-10-1-2-3 4.5.6-7-ec2 #18-Ubuntu SMP Mon Oct 18 21:00:20 UTC 2010 i686
Database Version5.1.61-0ubuntu0.10.04.1
Database Collationutf8_general_ci
PHP Version5.3.2-1ubuntu4.14
Web ServerApache/2.2.14 (Ubuntu)
WebServer to PHP Interfaceapache2handler
Joomla! VersionJoomla! 2.5.4 Stable [ Ember ] 2-April-2012 14:00 GMT
Joomla! Platform VersionJoomla Platform 11.4.0 Stable [ Brian Kernighan ] 03-Jan-2012 00:00 GMT
User AgentMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19

As you can see I use Joomla 2.5.4, but this tutorial applies to every previous version of Joomla. If not let me know!

The Problem
I am using Joomla's built-in rich text editor called TinyMCE. Whenever I create an article I can use this editor, but sometimes I just want to enter my own HTML and I don't want Joomla to do ANYTHING to it! For example if my HTML text contains <iframe> block and click Save my entire HTML text is gone. WHY?

How do I ask Joomla to stay out of way when I am saving text that contains HTML? Why is this so hard??

Root Cause
Joomla has this built-in feature called Filtering. It does filtering on the text entered by a back-end manager or a front-end registrant or manager according to the settings you set at Site -> Global Configuration -> Text Filters tab. The reason is obvious: There may be words you don't want front-end registrants to enter; you may not want registrants to spam your site with links to some other website and therefore you want to disable HTML.

The Solution
Here are the fixes. Log into your Joomla site's back-end.

1. Go to Site -> Global Configuration -> Text Filters tab and make all No Filtering is selected for every filter group. Once you make it work you can come back and set filtering appropriately for each filter group.

2. Go to Extensions -> Plug-in Manager -> Editor - TinyMCE to manage your TinyMCE plugin. Make sure 'Prohibited Elements' text area in 'Basic Options' tab is NOT empty but contains invalid tag like abc! This is probably the biggest Gotcha that you didn't do.

3. If the above didn't cut it then Look for security extensions that strip code. Many security plugins have that feature.

Any questions? Let me know!
Please leave a comment here!
One Minute Information - by Michael Wen
ADVERTISING WITH US - Direct your advertising requests to Michael