Skip to content

6653 contenttype menu#8032

Open
arybakov05 wants to merge 30 commits intosevenfrom
6653-contenttype_menu
Open

6653 contenttype menu#8032
arybakov05 wants to merge 30 commits intosevenfrom
6653-contenttype_menu

Conversation

@arybakov05
Copy link
Copy Markdown

Closes #6653

@arybakov05 arybakov05 marked this pull request as draft March 20, 2026 10:59
@read-the-docs-community
Copy link
Copy Markdown

read-the-docs-community bot commented Mar 20, 2026

Documentation build overview

📚 volto | 🛠️ Build #31939203 | 📁 Comparing 4d51d80 against latest (f2903d0)


🔍 Preview build

Show files changed (210 files in total): 📝 21 modified | ➕ 36 added | ➖ 153 deleted
File Status
genindex.html 📝 modified
index.html 📝 modified
search.html 📝 modified
backend/index.html ➖ deleted
blocks/anatomy.html ➖ deleted
blocks/block-style-wrapper.html ➖ deleted
blocks/editcomponent.html ➖ deleted
blocks/extensions.html ➖ deleted
blocks/index.html ➖ deleted
blocks/introduction.html ➖ deleted
blocks/settings.html ➖ deleted
blocks/ssr.html ➖ deleted
client/future-improvements.html ➖ deleted
client/index.html ➖ deleted
client/misc.html ➖ deleted
client/quick-start.html ➖ deleted
conceptual-guides/add-on-driven-configuration.html ➕ added
conceptual-guides/add-on-loader.html ➕ added
conceptual-guides/add-on-registry.html ➕ added
conceptual-guides/add-on-styles-loader.html ➕ added
conceptual-guides/add-ons.html ➖ deleted
conceptual-guides/configuration-registry.html ➕ added
conceptual-guides/cookieplone-frontend-add-on.html ➕ added
conceptual-guides/index.html 📝 modified
conceptual-guides/modular-arch-packages.html ➕ added
conceptual-guides/routing.html ➕ added
conceptual-guides/seven-vs-volto-differences.html ➕ added
conceptual-guides/slots.html ➕ added
configuration/backend.html ➖ deleted
configuration/component-registry.html 📝 modified
configuration/configuration-registry.html ➕ added
configuration/environmentvariables.html ➖ deleted
configuration/expanders.html 📝 modified
configuration/experimental.html ➖ deleted
configuration/how-to.html ➖ deleted
configuration/index.html 📝 modified
configuration/internalproxy.html ➖ deleted
configuration/locking.html ➖ deleted
configuration/multilingual.html ➖ deleted
configuration/settings-reference.html ➖ deleted
configuration/slots.html ➖ deleted
configuration/validation.html ➖ deleted
configuration/volto-config-js.html ➖ deleted
configuration/workingcopy.html ➖ deleted
configuration/zero-config-builds.html ➖ deleted
contributing/acceptance-tests.html 📝 modified
contributing/accessibility-guidelines.html ➖ deleted
contributing/bundle-size-optimization.html ➖ deleted
contributing/design-principles.html ➖ deleted
contributing/developing-core.html 📝 modified
contributing/documentation.html 📝 modified
contributing/icons.html ➖ deleted
contributing/index.html 📝 modified
contributing/language-features.html ➖ deleted
contributing/linting.html 📝 modified
contributing/react.html ➖ deleted
contributing/redux.html ➖ deleted
contributing/routing.html ➖ deleted
contributing/style-guide.html ➖ deleted
contributing/testing.html ➖ deleted
contributing/typescript.html ➖ deleted
contributing/version-policy.html 📝 modified
contributing/volto-core-addons.html ➖ deleted
deploying/apache.html ➖ deleted
deploying/index.html ➖ deleted
deploying/performance.html ➖ deleted
deploying/pm2.html ➖ deleted
deploying/seamless-mode.html ➖ deleted
deploying/sentry.html ➖ deleted
deploying/simple.html ➖ deleted
deploying/subpath.html ➖ deleted
development/appextras.html ➖ deleted
development/color-picker-widget.html ➖ deleted
development/contextnavigation.html ➖ deleted
development/creating-project.html ➖ deleted
development/creating-views.html ➖ deleted
development/customizing-components.html ➖ deleted
development/customizing-views.html ➖ deleted
development/environment-variables.html ➖ deleted
development/express.html ➖ deleted
development/folder-structure.html ➖ deleted
development/how-to-restrict-blocks.html ➖ deleted
development/i18n.html 📝 modified
development/images.html 📝 modified
development/index.html 📝 modified
development/known-dev-watcher-issue.html ➖ deleted
development/lazyload.html ➖ deleted
development/overview.html ➖ deleted
development/pluggables.html ➖ deleted
development/shadowing.html ➖ deleted
development/widget.html ➖ deleted
get-started/create-package.html ➕ added
get-started/index.html ➕ added
get-started/system-requirements.html ➕ added
how-to-guides/add-tailwind.html ➕ added
how-to-guides/configure-plate-block-widths.html ➕ added
how-to-guides/configure-plate-code-block-languages.html ➕ added
how-to-guides/customize-toolbar.html ➕ added
how-to-guides/fetch-additional-data-root-loader.html ➕ added
how-to-guides/icons.html ➕ added
how-to-guides/index.html ➕ added
how-to-guides/register-an-add-on.html ➕ added
how-to-guides/register-and-retrieve-components.html ➕ added
how-to-guides/register-and-retrieve-utilities.html ➕ added
how-to-guides/register-slots.html ➕ added
how-to-guides/routes.html ➕ added
how-to-guides/shadow-a-component.html ➕ added
reference/conventions.html ➕ added
reference/index.html 📝 modified
reference/plate-playwright.html ➕ added
reference/react-19.html ➕ added
reference/slate-to-plate-converters.html ➕ added
reference/storybook.html ➕ added
reference/utilities.html 📝 modified
reference/widgets.html ➖ deleted
release-management-notes/index.html 📝 modified
release-notes/index.html ➖ deleted
storybook/iframe.html ➖ deleted
storybook/index.html ➖ deleted
theming/about-semantic.html ➖ deleted
theming/create-theme-add-on.html ➖ deleted
theming/custom-styling.html ➖ deleted
theming/index.html ➖ deleted
theming/semanticui-theming.html ➖ deleted
theming/theming-a-base-theme.html ➖ deleted
theming/theming-engine.html ➖ deleted
theming/theming-strategy.html ➖ deleted
theming/using-third-party-themes.html ➖ deleted
tutorials/add-prisma-database.html ➕ added
tutorials/index.html 📝 modified
upgrade-guide/index.html 📝 modified
upgrade-guide/plone-components.html ➕ added
upgrade-guide/seven.html ➕ added
upgrade-guide/volto-blocks-migration.html ➕ added
user-manual/blocks.html ➖ deleted
user-manual/copy-paste-blocks.html ➖ deleted
user-manual/index.html ➖ deleted
user-manual/links-to-item.html ➖ deleted
blocks/core/container.html ➖ deleted
blocks/core/grid.html ➖ deleted
blocks/core/index.html ➖ deleted
blocks/core/listing.html ➖ deleted
blocks/core/teaser.html ➖ deleted
blocks/examples/custom-schema-and-view.html ➖ deleted
blocks/examples/custom-schema-view-and-edit.html ➖ deleted
blocks/examples/custom-view-and-variations.html ➖ deleted
blocks/examples/custom-view-variations-and-schema-enhancer.html ➖ deleted
blocks/examples/index.html ➖ deleted
client/actions/actions.html ➖ deleted
client/actions/addons.html ➖ deleted
client/actions/aliases.html ➖ deleted
client/actions/breadcrumbs.html ➖ deleted
client/actions/comments.html ➖ deleted
client/actions/content.html ➖ deleted
client/actions/contextnavigation.html ➖ deleted
client/actions/controlpanels.html ➖ deleted
client/actions/copymove.html ➖ deleted
client/actions/database.html ➖ deleted
client/actions/email-notification.html ➖ deleted
client/actions/email-send.html ➖ deleted
client/actions/groups.html ➖ deleted
client/actions/history.html ➖ deleted
client/actions/index.html ➖ deleted
client/actions/linkintegrity.html ➖ deleted
client/actions/lock.html ➖ deleted
client/actions/login.html ➖ deleted
client/actions/navigation.html ➖ deleted
client/actions/navroot.html ➖ deleted
client/actions/principals.html ➖ deleted
client/actions/querysources.html ➖ deleted
client/actions/querystring.html ➖ deleted
client/actions/querystringsearch.html ➖ deleted
client/actions/registry.html ➖ deleted
client/actions/relations.html ➖ deleted
client/actions/roles.html ➖ deleted
client/actions/rules.html ➖ deleted
client/actions/search.html ➖ deleted
client/actions/site.html ➖ deleted
client/actions/sources.html ➖ deleted
client/actions/system.html ➖ deleted
client/actions/transactions.html ➖ deleted
client/actions/translations.html ➖ deleted
client/actions/types.html ➖ deleted
client/actions/upgrade.html ➖ deleted
client/actions/users.html ➖ deleted
client/actions/userschema.html ➖ deleted
client/actions/vocabularies.html ➖ deleted
client/actions/workflow.html ➖ deleted
client/actions/workingcopy.html ➖ deleted
configuration/volto-slate/api.html ➖ deleted
configuration/volto-slate/configuration-settings.html ➖ deleted
configuration/volto-slate/index.html ➖ deleted
configuration/volto-slate/writing-plugins.html ➖ deleted
development/add-ons/best-practices.html ➖ deleted
development/add-ons/create-an-add-on-17.html ➖ deleted
development/add-ons/create-an-add-on-18.html ➖ deleted
development/add-ons/extend-eslint-add-on.html ➖ deleted
development/add-ons/extend-webpack-add-on.html ➖ deleted
development/add-ons/i18n.html ➖ deleted
development/add-ons/index.html ➖ deleted
development/add-ons/install-an-add-on-dev-17.html ➖ deleted
development/add-ons/install-an-add-on-dev-18.html ➖ deleted
development/add-ons/install-an-add-on.html ➖ deleted
development/add-ons/load-add-on-configuration.html ➖ deleted
development/add-ons/public-folder.html ➖ deleted
development/add-ons/test-add-ons-17.html ➖ deleted
development/add-ons/test-add-ons-18.html ➖ deleted
development/add-ons/test-add-ons-19.html ➖ deleted
development/add-ons/theme-add-on.html ➖ deleted
development/add-ons/troubleshoot-transpilation.html ➖ deleted

Copy link
Copy Markdown
Collaborator

@stevepiercy stevepiercy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I started a review and made a few trivial suggestions, but then realized the PR code should get a technical review before I go all in.

Additionally, we need to decide where to put documentation.

Should docs/configuration be a reference or how-to guide?

I read it as a how-to guide, so I'd suggest nesting this directory of files as:

docs/how-to/configuration/

@sneridagh @pnicolli what do you think?

You can customize a component without using {term}`shadowing` at all, if the code that calls the component retrieves the information of the component to use from the component registry.
The {term}`configuration registry` includes a component registry for managing components globally.
In this registry, components can be registered given a unique component name.
Any other add-on can then retrieve and use this component by searching the components name.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Any other add-on can then retrieve and use this component by searching the components name.
Any other add-on can then retrieve and use this component by searching for the component's name.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sneridagh @pnicolli @davisagli I like the revisions on this page, as it improves grammar and readability. Would you please check it for technical accuracy?

You can register components, and retrieve them afterwards given a list of modifiers `dependencies`.

Components can also be conditionally registered by passing dependencies.
To register a component with dependencies, you can either pass a `string` or an `array of strings`.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inline literals aren't necessary here. Also use the imperative form.

Suggested change
To register a component with dependencies, you can either pass a `string` or an `array of strings`.
To register a component with dependencies, either pass a string or an array of strings.

@@ -0,0 +1 @@
Extended customizability of the Menu component. @arybakov05 No newline at end of file
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Extended customizability of the Menu component. @arybakov05
Extended customizability of the `Menu` component. @arybakov05

@@ -0,0 +1,4 @@
Replaced toolbar plugs with slots.
Wrapped toolbar in portal provider so that overlays are rendered inside the shadow root.
Added ToolbarMenu component to handle shadow root integration.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Added ToolbarMenu component to handle shadow root integration.
Added `ToolbarMenu` component to handle shadow root integration.

@arybakov05
Copy link
Copy Markdown
Author

@stevepiercy Before you go all in, there is still some documentation to be written on my changes regarding the Toolbar. When that's finished, I will mark the PR ready for review.

@arybakov05 arybakov05 marked this pull request as ready for review March 23, 2026 22:54
@arybakov05 arybakov05 requested a review from pnicolli March 26, 2026 19:21
@davisagli davisagli added this to Seven Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants