Problem/Motivation
Part of #3624760: Plan: consistent Display Builder entry points in the Navigation top bar.
On an entity page, the display built with Display Builder is reachable only as a local task in "More actions" ("Display: Full content"), with the same label whether an override exists or not. Following it on an entity without an override creates one. "Display: Teaser" is listed on the full page, where no teaser is rendered. The bundle display has no entry at all.
Proposed resolution
Add one entry to the "Display" dropdown for the display rendering full:
- the bundle display, scope "every bundle item";
- or the override, scope "this item only";
- or "Customize this item", when overridable and not yet overridden. Creating an override becomes an explicit action; the builder URL no longer creates one on GET.
Remove our override local tasks from the top bar when Navigation is enabled, keep them as tabs otherwise.
Remaining tasks
- Evaluate: list the overridden bundle display as inactive, to explain why editing it changes nothing on this item.
- Tests: bundle display, override, and overridable without override; visiting an override builder URL no longer creates an instance.
Issue fork display_builder-3624762
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #3
mogtofu33 commentedNote:
Comment #4
pdureau commentedWorks only for
fulldisplay, not fordefault(which is the Full when there is no Full).The cache is not invalidated when we activate or disable
fulldisplayComment #5
pdureau commentedComment #6
mogtofu33 commentedComment #7
pdureau commentedGreat
Comment #9
mogtofu33 commented