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 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:
- Go to /administrator/components/com_example/ folder. There, find (recursively) all the occurrences of: ExampleHelpersExample and replace them with ExampleHelper
- 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 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 rebuilt and reinstalled them. That’s why we would like to advise those users to manually change their code as seen above. This way, none of the changes made to the code will get lost, and your component should function perfectly again.