Fix the sIFR bug when logged in (UPDATED!)

I ran into a strange bug today while implementing sIRF into Joomla!. Everything looked great until I logged into the front-end. Then the titles show this:

Contact Us <!– function olMouseMove(e) { var e = e ? e : event; if (e.pageX) { o3_x = e.pageX; o3_y = e.pageY; } else if (e.clientX) { o3_x = eval(”e.clientX+o3_frame.” + docRoot + “.scrollLeft”); o3_y = eval(”e.clientY+o3_frame.” + docRoot + “.scrollTop”); } if (o3_allowmove == 1) {runHook(”placeLayer”,FREPLACE);if(olHideForm)hideSelectBox(); } if (hoveringSwitch && !olNs4 && runHook(”cursorOff”, FREPLACE)) { olHideDelay ? hideDelay(olHideDelay) : cClick(); hoveringSwitch = !hoveringSwitch; } } //–>

After many hours of frustration, we finally came up with a fix!

The error comes from a conflict between sIFR and OverLIB, so we just disabled OverLIB. To do this you have to open the base index.php file in the root directory. Go to line 214 and change FALSE to TRUE.


// set for overlib check
$mainframe->set( 'loadOverlib', true );

Your site will now display sIRF correctly when logged in.

UPDATE:

While we realized that turning off OverLIB was not a good idea, we didn’t have any better alternatives…until now! The problem was caused by the fact that Joomla! loads the front-end edit button inside the div with the class “contentheading,” which is translated by sIFR. To solve this, you have to edit com_content/content.html.php to move the edit button into a separate < td > so that it’s in line with the pdf/email/print buttons (and out of the contentheading div).

Thanks to Mike at mike.simbunch.com for the sharing this fix with us.

The Core Team
Editorial Staff Members at 'corePHP'
Editorial staff for the Core Technology Blog for 'corePHP' - news, views insights and advice for e-commerce, marketing technology , web design and development.