Skip to content

[Messenger] fix Studio widget not rendering in navigation - #3102

Merged
dpfaffenbauer merged 1 commit into
coreshop:5.1from
dpfaffenbauer:fix/messenger-studio-widget-id
Jul 8, 2026
Merged

dpfaffenbauer merged 1 commit into
coreshop:5.1from
dpfaffenbauer:fix/messenger-studio-widget-id

Conversation

@dpfaffenbauer

Copy link
Copy Markdown
Member

Problem

Opening the Messenger entry from the Pimcore Studio main navigation renders an empty widget showing only the label (coreshop_messenger) instead of the real MessengerList UI.

Cause

The Studio menu bridge in CoreShopMenuBundle (menu-extension.tsx) derives the widget id for a leaf menu item as:

const widgetId = item.widgetId || `coreshop-${item.id}`

The messenger menu item (MessengerMenuBuilder) did not set a widgetId attribute, so the bridge computed coreshop-coreshop_messenger. That id does not match the widget the messenger Studio plugin actually registers:

widgetRegistryService.registerWidget({ name: 'coreshop-messenger-widget', component: MessengerList })

Because no widget is registered under the computed id, the bridge falls back to its placeholder CoreShopWidget, which only renders the item label — hence the empty screen. (After linking works, a leftover persisted tab may throw Widget coreshop-coreshop_messenger not found once, which is the stale pre-fix tab.)

Fix

Set the widgetId attribute on the messenger menu item to the id the Studio plugin registers, so the navigation entry resolves to the real widget:

->setAttribute('widgetId', 'coreshop-messenger-widget')

🤖 Generated with Claude Code

The Studio menu bridge (MenuBundle) derives the widget id for a menu
leaf as `item.widgetId || coreshop-${item.id}`. Since the messenger
menu item did not carry a `widgetId`, the bridge computed
`coreshop-coreshop_messenger`, which does not match the widget the
messenger Studio plugin registers (`coreshop-messenger-widget`).

As a result the bridge registered its placeholder CoreShopWidget
(rendering only the label) instead of opening the real MessengerList.

Set the `widgetId` attribute so the navigation entry resolves to the
already-registered messenger widget.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dpfaffenbauer
dpfaffenbauer merged commit e5b9518 into coreshop:5.1 Jul 8, 2026
125 of 126 checks passed
@dpfaffenbauer
dpfaffenbauer deleted the fix/messenger-studio-widget-id branch July 8, 2026 08:15
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 8, 2026
@dpfaffenbauer dpfaffenbauer added this to the 5.1.0 milestone Sep 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant