Sorry to not provide detailed “steps to reproduce”, but I’m in the middle of a complicated (for me) site build and got the following:

Notice: Undefined index: attributes in Drupal\bootstrap\Plugin\Preprocess\Menu->convertAttributes() (line 36 of themes\contrib\bootstrap\src\Plugin\Preprocess\Menu.php).
Drupal\bootstrap\Plugin\Preprocess\Menu->convertAttributes(Array) (Line: 23)
Drupal\bootstrap\Plugin\Preprocess\Menu->preprocessVariables(Object) (Line: 53)
Drupal\bootstrap\Plugin\Preprocess\PreprocessBase->preprocess(Array, 'menu', Array) (Line: 1441)
Drupal\bootstrap\Bootstrap::preprocess(Array, 'menu', Array) (Line: 118)
bootstrap_preprocess(Array, 'menu', Array)
call_user_func_array('bootstrap_preprocess', Array) (Line: 287)
Drupal\Core\Theme\ThemeManager->render('menu', Array) (Line: 422)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 435)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 201)
Drupal\Core\Render\Renderer->render(Array) (Line: 94)
template_preprocess_toolbar(Array, 'toolbar', Array)
call_user_func_array('template_preprocess_toolbar', Array) (Line: 287)
Drupal\Core\Theme\ThemeManager->render('toolbar', Array) (Line: 422)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 435)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 201)
Drupal\Core\Render\Renderer->render(Array) (Line: 479)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 117)
__TwigTemplate_5ca2a3e6b6c9c411839d8224654db4c854537f9c6273c49236b17332b4d4a009->doDisplay(Array, Array) (Line: 405)
Twig\Template->displayWithErrorHandling(Array, Array) (Line: 378)
Twig\Template->display(Array) (Line: 390)
Twig\Template->render(Array) (Line: 55)
twig_render_template('themes/contrib/dxpr_theme/templates/html.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('html', Array) (Line: 422)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 201)
Drupal\Core\Render\Renderer->render(Array) (Line: 162)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 564)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 163)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
call_user_func(Array, Object, 'kernel.view', Object) (Line: 142)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object, 'kernel.view') (Line: 163)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 80)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 709)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

To make matters worse, I’m actually using DXPR Theme on the frontend which depends on Bootstrap, plus this coincides somewhat with installing Shortcut Menu. The warning repeats 12 times on the pages where it appears, and I see no relation between the pages it appears on and the ones it doesn’t. Happy to help diagnose in any way I can.

Comments

Grabby created an issue. See original summary.

stefan lehmann’s picture

I had a link render array in the theme I'm upgrading like this:

$home_link = [
        'title' => 'Home',
        'url' => \Drupal\Core\Url::fromRoute('<front>'),
      ];

This link got added programmatically to the beginning of the main menu. I had to update the link to this to get rid of the notice:

$home_link = [
        'title' => 'Home',
        'url' => \Drupal\Core\Url::fromRoute('<front>'),
        'attributes' => [],
      ];

I added a small patch in case you think this should be handled by Boostrap. I have no opinions about that, but it doesn't seem to happen to a lot of people.

  • shelane committed 2856bc1c on 8.x-3.x
    Issue #3299961 by Stefan Lehmann, Grabby: Undefined index: attributes in...
shelane’s picture

Status: Active » Fixed

Thank you. It seems a reasonable check to make. I did streamline it a bit to the same if statement though.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.