BC5-DISABLE-TEST-001
plg_behaviour_compat
Site dies when you disable Behaviour – Backward Compatibility
There are two plugins. Behaviour – Backward Compatibility (no number) restores JFactory, JText, JHtml, and hundreds of J* names on Joomla 5. You MUST disable it before Joomla 6. Behaviour – Backward Compatibility 6 is a different plugin and does not restore JRequest or JFactory. If disabling the first plugin whitescreens the site, you are not Joomla 6 ready.
plg_behaviour_compat → Rewrite J* classes so BC5 can stay off, then upgrade to Joomla 6
What you will see
- Class "JFactory" not found
- Class "JText" not found
- Class "JHtml" not found
Symptoms people search
white screen after disabling compatibility plugin · cannot upgrade to Joomla 6 · plugin required for site to load · backward compatibility
Replace this code
Swap plg_behaviour_compat for Rewrite J* classes so BC5 can stay off, then upgrade to Joomla 6.
Joomla 3
Remove or stop calling this
// Joomla 5 with plugin enabled — site “works”
$app = JFactory::getApplication();Joomla 4 / 6
Use this instead
use Joomla\CMS\Factory;
$app = Factory::getApplication();
// Then disable the plugin on staging. It must stay off to upgrade to Joomla 6.How to fix it
- 1On Joomla 5.4 staging: System → Plugins → disable Behaviour – Backward Compatibility (no number).
- 2Note every Class "J…" not found error. Those are this reference.
- 3Fix them, then retry. Only then run the Joomla 6 update.
- 4Do not confuse it with Backward Compatibility 6 — that one does not bring J* names back.
Also known as
Behaviour - Backward Compatibility · plg_behaviour_compat · BC plugin · compat plugin · Backward Compatibility 6
Related issues
- Joomla 3 → 4Joomla API
JRequest::getVar() and the whole JRequest API
JRequest::getVar() → $app->getInput()->get('id')
- Joomla 3 → 4Joomla API
JError / JException
JError::raiseError() → throw new RuntimeException() / try-catch
- Joomla 3 → 4Joomla API
isAdmin() / isSite()
$app->isAdmin() → $app->isClient('administrator') / isClient('site')
- Joomla 3 → 4Joomla API
Factory::getUri()
JFactory::getUri() → Uri::getInstance()
- Joomla 3 → 4Joomla API
Factory::getXml() / JXMLElement
JFactory::getXML() → SimpleXMLElement
- Joomla 3 → 4Joomla API
Factory::getEditor()
JFactory::getEditor() → Editor::getInstance()