Staff replied Templates

Joomla 3>4 Cannot access protected property Joomla\CMS\Menu\MenuItem::$params

Asked by Peron 3 years ago Last activity 2 years ago

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

12 replies

Paul Frankowski Senior Staff
3 years ago · edited
  • 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.

Peron Asked this

Hello,
I followed the guide above, overriden \html\mod_menu\default.php but it didnt change anything.
Thx
Peron

Paul Frankowski Senior Staff
3 years ago · edited

Enable Debug and preview again, you should see more about source of error

info_852_2023.jpg

then inform me or get know which file you still have to override.

Peron Asked this

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

Peron Asked this

hi, a screenshot might better:

Thx
Peron

GETCOMM

I have the same problem with the SHOPIN template. Can you help me?

Paul Frankowski Senior Staff

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
GETCOMM

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.

Paul Frankowski Senior Staff

YES, just override those 2 folders (only those!) - as I said

Log in to reply.