protected function BreadcrumbBuilder::applyContentEntityBreadcrumb in Custom Breadcrumbs 1.x
Added breadcrumbs based content entity.
Parameters
\Drupal\Core\Breadcrumb\Breadcrumb $breadcrumb: Breadcrumb.
\Drupal\Core\Routing\RouteMatchInterface $route_match: Route match.
Throws
\Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
\Drupal\Component\Plugin\Exception\PluginNotFoundException
1 call to BreadcrumbBuilder::applyContentEntityBreadcrumb()
- BreadcrumbBuilder::build in src/
BreadcrumbBuilder.php - Builds the breadcrumb.
File
- src/
BreadcrumbBuilder.php, line 232
Class
- BreadcrumbBuilder
- Class BreadcrumbBuilder.
Namespace
Drupal\custom_breadcrumbsCode
protected function applyContentEntityBreadcrumb(Breadcrumb &$breadcrumb, RouteMatchInterface $route_match) {
// Prepare all route parameters.
$params = $route_match
->getParameters()
->all();
$entityTypeIds = array_keys($params);
$entityTypeId = reset($entityTypeIds);
$entity = isset($params[$entityTypeId]) ? $params[$entityTypeId] : NULL;
$breadcrumbSettings = $this->entityTypeManager
->getStorage('custom_breadcrumbs')
->loadByProperties([
'entityType' => $entityTypeId,
'status' => TRUE,
'type' => 1,
]);
$this
->filterPerBundle($breadcrumbSettings, $route_match);
$this
->filterPerLanguage($breadcrumbSettings);
$breadcrumbSetting = reset($breadcrumbSettings);
if ($breadcrumbSetting) {
$this
->applyBreadcrumb($breadcrumb, $breadcrumbSetting, $entity);
}
}