Hi,
I migrated to joomla 4 and get the following message on the frontend:
Cannot access protected property Joomla\CMS\Menu\MenuItem::$params
I use the ultimate template.
Even though a lot of people seem to have this problem with a lot of different templates and for quite some time, you dont seem to provide a solution on the support forum.
Is there anything I can do by myself, correcting scripts or something?
That was the first migration I tried and I have some more to come with other templates ( spectrum, shaper_salon...)
Thank you for your help
Peron
Joomla 3>4 Cannot access protected property Joomla\CMS\Menu\MenuItem::$params
12 replies
Hi Person,
you dont seem to provide a solution on the support forum
I am not fully agree with you, for Helix3 based templates we also have tip 3 here: https://www.joomshaper.com/documentation/helix-framework/helix3/troubleshooting-how-to-fix
Your bug probably cannot be from raw Helix Ultimate template! If any, only based on it.
- Spectrum - is Helix3 based template.
- Salon - is Helix Ultimate based template.
In general I agree with you that it shouldn't be like that. Hopefully everything can be fixed in 90 seconds, after template update to current version. As you can read in the above guide.
Hello,
I followed the guide above, overriden \html\mod_menu\default.php but it didnt change anything.
Thx
Peron
Enable Debug and preview again, you should see more about source of error

then inform me or get know which file you still have to override.
Here's what I get on debug mode:
Call stack
Function
Location
1 ()
JROOT/components/com_sppagebuilder/views/page/view.html.php:56
2 SppagebuilderViewPage->_prepareDocument()
JROOT/components/com_sppagebuilder/views/page/view.html.php:39
3 SppagebuilderViewPage->display()
JROOT/libraries/src/MVC/Controller/BaseController.php:639
4 Joomla\CMS\MVC\Controller\BaseController->display()
JROOT/components/com_sppagebuilder/controller.php:39
5 SppagebuilderController->display()
JROOT/libraries/src/MVC/Controller/BaseController.php:672
6 Joomla\CMS\MVC\Controller\BaseController->execute()
JROOT/components/com_sppagebuilder/sppagebuilder.php:23
7 require_once()
JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71
8 Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher{closure}()
JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:73
9 Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch()
JROOT/libraries/src/Component/ComponentHelper.php:355
10 Joomla\CMS\Component\ComponentHelper::renderComponent()
JROOT/libraries/src/Application/SiteApplication.php:208
11 Joomla\CMS\Application\SiteApplication->dispatch()
JROOT/libraries/src/Application/SiteApplication.php:249
12 Joomla\CMS\Application\SiteApplication->doExecute()
JROOT/libraries/src/Application/CMSApplication.php:294
13 Joomla\CMS\Application\CMSApplication->execute()
JROOT/includes/app.php:61
14 require_once()
JROOT/index.php:32
hi, a screenshot might better:

Thx
Peron
I have the same problem with the SHOPIN template. Can you help me?
In Helix3 based template you have to override all files from raw Helix3 template/quickstart
Focus on those two folders! Use FTP tool to override files
templates\shaper_helix3\html\mod_menu --> templates\shaper_shopin\html\mod_menu
templates\shaper_helix3\features --> templates\shaper_shopin\features I don't understand, should I replace just these two folders or everything?
Fino ad adesso ho sostituito solo le due cartelle indicate ma non funziona e l'errore è sempre lo stesso.
YES, just override those 2 folders (only those!) - as I said
It doesn't work and the error is always the same.
I'm using Joomla 5.x
Not all templates works in Joomla 5.
So first check if your template is on the list : https://www.joomshaper.com/joomla-templates?support=joomla5
If not, you have to keep Joomla 4.4.x for now.