[6.x]: UI API doesn't appear to have a scoped container Node to nest a component's settingsUi() under a path
Maintainers usually reply within 1 day
@riasvdv is already working on this.
Since Oct 9, 2026.
Assessment
This issue has not been assessed yet.
Description
What happened?
ConfigurableComponentInterface::settingsUi() declares Control paths relative to the component's settings (as docs/ui.md recommends). When that UI is embedded inside a larger UI — e.g. a field layout element on an element edit page that shows the selected component's settings under settings — there's no way to place it under a path prefix.
The twig equivalent was something like:
{% namespace 'providerSettings' %}
{{ provider.getSettingsHtml()|raw }}
{% endnamespace %}
In the inertia page context it appears:
UiContext::$namespaceapplies to a whole resolved UI, not a subtree.- Group children "resolve at the surrounding namespace", so they keep their declared paths.
We currently walk the UI and re-path each Field's Control with Control::withPath() (and give them one delta group so the editor submits the whole settings array instead of replacing it with the single changed key). It works, but it's a stopgap that every plugin with component settings will rewrite.
What would help: a container Node like Scope::make(['settings'], $component->settingsUi()->nodes()) that resolves its children under a path prefix (and optionally assigns a shared delta group).
Craft CMS version
6.0.0-alpha.20
PHP version
No response
Operating system and version
No response
Database type and version
No response
Image driver and version
No response
Installed plugins and versions
- Dominant language
- PHP
- Stars
- 3.6k
- Forks
- 705
- Avg merge
- 11h 54m
- Merged PRs (30d)
- 251
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from craftcms/cms
-
[6.x]: AdminTable not available for plugin index and settings screensPossibly taken @brianjhanson claimed this today. Openbug repo:cms
craftcms/cms#19912 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
-
bug repo:cms
Difficulty 4/5 3-5 days Newbie friendliness 30/100
craftcms/cms#19911 · 1 comment ·
Maintainers usually reply within 1 day
-
[6.x]: No way for custom element types to add top level buttons in toolbar or beside the Save menuOpenbug repo:cms
Difficulty 5/5 Over a week Newbie friendliness 15/100
craftcms/cms#19910 · 1 comment ·
Maintainers usually reply within 1 day
-
bug repo:cms
Difficulty 4/5 3-5 days Newbie friendliness 22/100
craftcms/cms#19909 · 1 comment ·
Maintainers usually reply within 1 day
-
[6.x] Licence nag countdown never continues to the control panel, and there's no button to skip itPossibly taken @brandonkelly claimed this 1 day ago. Openbug repo:cms
Difficulty 3/5 1-2 days Newbie friendliness 55/100
craftcms/cms#19895 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
Similar issues
-
maintenance
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
hawk-digital-environments/HAWKI#443 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
crazy-goat/rabbit-stream#799 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Code Quality
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Automattic/safe-publish#708 ·
Maintainers usually reply within 1 day