We received numerous assumptions that claim BreezingForms isn't working with Joomla4 and PHP8.
We think the confusion stems from upgrades people perform, coming from Joomla3 to Joomla4, as there needs to be an additional step required after upgrading the main component. If you did a fresh install of BreezingForms on Joomla4 and don't use custom scripts and pieces, you can skip the below.
Scripts & Pieces Upgrade
The additional step below updates the standard packages that are separate assets from the main installation package and require an upgrade to work with PHP8:
- After installing BreezingForms for Joomla4, head to Scripts & Pieces Managers in the BreezingForms administration.
- Select the package "FF" from the top and delete all entries.
- Locate the file "stdlib.english.xml" on your website at "/administrator/components/com_breezingforms/packages/" and download it.
- In BreezingForms => Configuration => Package Installer, select the file "stdlib.english.xml" from your local drive where you downloaded it and click "continue".
- Optional: In the form manager, open each of your forms once and just click "save". This will make sure assocociations of Scripts & Pieces are being re-assigned.
Custom Pieces (Code)
If you use custom scripts and pieces, chances are high your custom code won't work against Joomla4 and/or PHP8 any longer. There may be numerous reasons to upgrade custom code. Here are the most important ones:
- Replace all occurences of JFactory::getDbo() with BFFactory::getDbo()
(this only affects getDbo(), other cases of using JFactory are not affected)
- Replace all occurences of "JRequest::" with "BFRequest::" or use "JFactory::getApplication()->input" (see Joomla Docs)
Content Plugin & Module
After upgrading BreezingForms to the Joomla4 version, also make sure to re-install the BreezingForms content plugin as well as the module. You can find both in the main download package of BreezingForms.
We hope this helps on how to upgrade BreezingForms proprly for Joomla4!