The new breadcrumb system is designed to go through a block.
However, the page template still has a hard-coded $breadcrumb variable. That is vestigial and hard to remove and defeats the whole purpose of making the breadcrumb a block instead.
Remove the $breadcrumb variable from the page template entirely and instead ship a default block that places the breadcrumb block in the same place.
- Add a default 'breadcrumb' region that all themes inherit unless it specifies different regions in its .info.yml.
- Actually remove the 'breadcrumb' variable from the page template (template_preprocess_page()).
- Remove the 'breadcrumb' variable from the system page.html.twig template, use the block instead ( may be a helpful reference).
Beta phase evaluation
|Issue category||Task because it fully implements the vision frombut is not a functional bug.|
|Issue priority||Normal, it's essentially a follow-up to. Could arguably be major as part of .|
|Unfrozen changes||Unfrozen because it changes theme system components which are not frozen: templates/default regions.|
|Prioritized changes||Part ofwhich is a major|
|Disruption||Small disruption for contributed themes and sites, the 'breadcrumb' variable in page.html.twig will no longer output breadcrumbs, the breadcrumb block needs to be placed somewhere instead (like the breadcrumb region).|
User interface changes
Ideally none, other than it being possible to remove the breadcrumb properly.
Remove a vestigial variable, otherwise none.
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 84,960 pass(es). View