Joomla! 3.7 backwards compatibility issue

Last month Joomla! launched their long-awaited 3.7 update. This update came with lots of good new features, and also many smaller updates that just improved the already existing features.

Unfortunately for Component Creator and its users, this update caused a fatal error in many components. It caused a backwards compatibility issue with customized components created before the release of Joomla! 3.7. But luckily it’s easy to fix. All you have to do is follow the following two steps:

 

For com_example component:

  1. Go to /administrator/components/com_example/ folder. There, find (recursively) all the occurrences of: ExampleHelpersExample and replace them with ExampleHelper
  2. Go to the /administrator/components/com_example/example.php file. Then, add the line 
    JLoader::register('ExampleHelper', JPATH_COMPONENT_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'helpers' . DIRECTORY_SEPARATOR . ‘example.php');
    before: $controller = JControllerLegacy::getInstance('Example');

 

Component Creator is still 100% compatible with Joomla! 3.7. Users that had not customized their components can simply rebuild and reinstall their components using the Component Creator builder. For those who had customized their components by changing the code and adding new features, we recommend them to manually change their code as is shown above.

We implemented the fix in our Component Creator builder. This means that everyone can simply rebuild and reinstall their components using the Component Creator builder. However, if you have customized your component by changing the code to create new features, for example, these changes would go lost if you would rebuild and reinstall them. That’s why we would like to advise those users to manually change their code as is shown above. This way, none of the changes made to the code will get lost and your component should function perfectly again.

 

 

We use cookies so that you can place orders and we can provide a better service. You can control the use of cookies at the individual browser level. If you reject cookies, you may still use our website, but your ability to use some features or areas of our website may be limited.