SP Pagebuilder v3.8.6 php 8.1.5 and Joomla 4.1.4 compability. When will it be fixed ??? - Forum | JoomShaper
Staff replied SP Page Builder

SP Pagebuilder v3.8.6 php 8.1.5 and Joomla 4.1.4 compability. When will it be fixed ???

Asked by ssnobben 4 years ago Last activity 3 years ago

Hi I have problem with SP Pagebuilder com_sppagebuilder_pro_v3.8.6 and Joomla 4.1.4 with php 8.1.5

0 Cannot access protected property Joomla\CMS\Menu\MenuItem::$params

Latest Helix Ultimate 2.0.9

When will you make this compatible?!!

See this crashed front site info:

Call stack

Function Location

1 () JROOT/templates/shaper_helixultimate/html/com_sppagebuilder/page/default.php:46
2 include() JROOT/libraries/src/MVC/View/HtmlView.php:436
3 Joomla\CMS\MVC\View\HtmlView->loadTemplate() JROOT/libraries/src/MVC/View/HtmlView.php:220
4 Joomla\CMS\MVC\View\HtmlView->display() JROOT/components/com_sppagebuilder/views/page/view.html.php:47
5 SppagebuilderViewPage->display() JROOT/libraries/src/MVC/Controller/BaseController.php:697
6 Joomla\CMS\MVC\Controller\BaseController->display() JROOT/components/com_sppagebuilder/controller.php:81
7 SppagebuilderController->display() JROOT/libraries/src/MVC/Controller/BaseController.php:735
8 Joomla\CMS\MVC\Controller\BaseController->execute() JROOT/components/com_sppagebuilder/sppagebuilder.php:24
9 require_once() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:69
10 Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher{closure}() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71
11 Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch() JROOT/libraries/src/Component/ComponentHelper.php:389
12 Joomla\CMS\Component\ComponentHelper::renderComponent() JROOT/libraries/src/Application/SiteApplication.php:204
13 Joomla\CMS\Application\SiteApplication->dispatch() JROOT/libraries/src/Application/SiteApplication.php:243
14 Joomla\CMS\Application\SiteApplication->doExecute() JROOT/libraries/src/Application/CMSApplication.php:278
15 Joomla\CMS\Application\CMSApplication->execute() JROOT/includes/app.php:63

7 replies

ssnobben Asked this
4 years ago · edited

JMenuItem

Error bug: 0 Cannot access protected property Joomla\CMS\Menu\MenuItem::$params

https://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_4#JMenuItem

You can no longer retrieve the params property from JMenuItem directly. Use the getParams() method instead (available since Joomla 3.7)
JMenuItem::set and JMenuItem::get have been removed. Properties must be explicitly named
There is now a AdministratorMenuItem class which extends from MenuItem that contains extra public properties used for the Administrator menu item.

    https://issues.joomla.org/tracker/joomla-cms/30463

    and check this:  Can you please check the code in

JROOT/plugins/system/helixultimate/overrides/layouts/joomla/form/field/user.php

Anne Staff
4 years ago · edited

Hello there

Thanks for contacting us and please take our sincere apology for the inconvenience. We will check the issue and get back to you soon.

-Regards

ssnobben Asked this

Ok hope it will be soon

THIS IS BLANK PAGE FRONTEND WITH THIS ERROR
Joomla 4 Error 0 Cannot Access Protected Property Joomla\cms\menu\menuitem::$params

The same problem with SP Pagebuilder 4.0.0-RC.2 Helix Ultimate 2.0.9 Joomla 4.1.4

Please explain the fix.

ssnobben Asked this

Please explain the fix.

Here is code there /html/templates/shaper_helixultimate/features/title.php:


/**
 * @package Helix_Ultimate_Framework
 * @author JoomShaper <[email protected]>
 * Copyright (c) 2010 - 2021 JoomShaper
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later
 */


defined ('_JEXEC') or die();

use Joomla\CMS\Factory;
use Joomla\CMS\Uri\Uri;

/**
 * Helix Ultimate Site Title.
 *
 * @since   1.0.0
 */
class HelixUltimateFeatureTitle
{
    /**
     * Template parameters
     *
     * @var     object  $params     The parameters object
     * @since   1.0.0
     */
    private $params;

    /**
     * Constructor function
     *
     * @param   object  $params     The template parameters
     *
     * @since   1.0.0
     */
    public function __construct($params)
    {
        $this->position = 'title';
    }

    /**
     * Render the logo features.
     *
     * @return  string
     * @since   1.0.0
     */
    public function renderFeature()
    {

        $app = Factory::getApplication();
        $menuitem   = $app->getMenu()->getActive();

        if($menuitem)
        {

            $params = $menuitem->getParams();

            if($params->get('helixultimate_enable_page_title', 0))
            {

                $page_title          = $menuitem->title;
                $page_heading        = $params->get('helixultimate_page_title_heading', 'h2');
                $page_title_alt      = $params->get('helixultimate_page_title_alt');
                $page_subtitle       = $params->get('helixultimate_page_subtitle');
                $page_title_bg_color = $params->get('helixultimate_page_title_bg_color');
                $page_title_bg_image = $params->get('helixultimate_page_title_bg_image');

                if($page_heading == 'h1')
                {
                    $page_sub_heading = 'h2';
                }
                else
                {
                    $page_sub_heading = 'h3';
                }

                $style = '';

                if($page_title_bg_color)
                {
                    $style .= 'background-color: ' . $page_title_bg_color . ';';
                }

                if($page_title_bg_image)
                {
                    $style .= 'background-image: url(' . Uri::root(true) . '/' . $page_title_bg_image . ');';
                }

                if($style)
                {
                    $style = 'style="' . $style . '"';
                }

                if($page_title_alt)
                {
                    $page_title      = $page_title_alt;
                }

                $output = '';

                $output .= '<div class="sp-page-title"'. $style .'>';
                $output .= '<div class="container">';

                $output .= '<'. $page_heading .' class="sp-page-title-heading">'. $page_title .'</'. $page_heading .'>';

                if($page_subtitle)
                {
                    $output .= '<'. $page_sub_heading .' class="sp-page-title-sub-heading">'. $page_subtitle .'</'. $page_sub_heading .'>';
                }

                $output .= '<jdoc:include type="modules" name="breadcrumb" style="none" />';

                $output .= '</div>';
                $output .= '</div>';

                return $output;
Ofi Khan Staff

Hello ssnobben

What fix are you talking about on Helix? Unfortunately, PHP 8 support will be delayed for SP Page Builder 4. You have to wait until we release the stable version.

Best regards

Torsten.S
3 years ago · edited

deleted

Ofi Khan Staff

SP Page Builder 4 supports PHP 8.0 now.

Log in to reply.