Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[6.x]: UI API doesn't appear to have a scoped container Node to nest a component's settingsUi() under a path

Open
#19,908 1 comment 0 reactions 1 assignee View on GitHub

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

bug repo:cms
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::$namespace applies 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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from craftcms/cms

All issues in craftcms/cms

Similar issues

More PHP issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.