Undefined array key "ignoreGrid"

Hello! I’m using concrete 9.2.7 on PHP 8.2. When trying to edit a text-block and save it, I get the error:

Undefined array key “ignoreGrid”

Details

htdocs/concrete5_8/packages/tmblocks/src/TmBlockController.php(155): Whoops\Exception\ErrorException->null
htdocs/concrete5_8/packages/tmblocks/src/TmBlockController.php(155): Whoops\Run->handleError
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/controllers/dialog/block/edit.php(39): Concrete\Package\Tmblocks\Src\TmBlockController->validate
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/controllers/dialog/block/edit.php(53): Concrete\Controller\Dialog\Block\Edit->validateBlock
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Controller/AbstractController.php(318): Concrete\Controller\Dialog\Block\Edit->submit
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Controller/AbstractController.php(318): null->call_user_func_array
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Routing/ControllerRouteAction.php(64): Concrete\Core\Controller\AbstractController->runAction
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/RouteDispatcher.php(37): Concrete\Core\Routing\ControllerRouteAction->execute
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/DispatcherDelegate.php(39): Concrete\Core\Http\RouteDispatcher->dispatch
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/MiddlewareStack.php(86): Concrete\Core\Http\Middleware\DispatcherDelegate->next
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/DefaultDispatcher.php(127): Concrete\Core\Http\Middleware\MiddlewareStack->process
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/DefaultDispatcher.php(60): Concrete\Core\Http\DefaultDispatcher->handleDispatch
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/DispatcherDelegate.php(39): Concrete\Core\Http\DefaultDispatcher->dispatch
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/FrameOptionsMiddleware.php(39): Concrete\Core\Http\Middleware\DispatcherDelegate->next
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\FrameOptionsMiddleware->process
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/StrictTransportSecurityMiddleware.php(36): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\StrictTransportSecurityMiddleware->process
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/ContentSecurityPolicyMiddleware.php(36): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\ContentSecurityPolicyMiddleware->process
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/CookieMiddleware.php(35): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\CookieMiddleware->process
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/ApplicationMiddleware.php(29): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\ApplicationMiddleware->process
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/Middleware/MiddlewareStack.php(86): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Http/DefaultServer.php(85): Concrete\Core\Http\Middleware\MiddlewareStack->process
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Foundation/Runtime/Run/DefaultRunner.php(128): Concrete\Core\Http\DefaultServer->handleRequest
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Foundation/Runtime/DefaultRuntime.php(102): Concrete\Core\Foundation\Runtime\Run\DefaultRunner->run
htdocs/concrete5_8/updates/concrete-cms-9.2.7-remote-updater/concrete/dispatcher.php(45): Concrete\Core\Foundation\Runtime\DefaultRuntime->run
htdocs/concrete5_8/concrete/bootstrap/configure.php(55): null->require
htdocs/concrete5_8/concrete/dispatcher.php(13): null->require
htdocs/concrete5_8/index.php(3): null->require

Any idea what might be wrong?

It looks like that block hasn’t bee updated for PHP 8+ yet. If it’s a package you purchased from the marketplace you could contact the creator. Otherwise you need to check if the array key ignoreGrid is defined before using it on line 155 of htdocs/concrete5_8/packages/tmblocks/src/TmBlockController.php

Thanks for your reply! Fixing the code there manually did the trick, since it seems that the package is not updated anymore.