function preview_link_entity_type_alter in Preview Link 2.0.x
Same name and namespace in other branches
- 8 preview_link.module \preview_link_entity_type_alter()
- 2.x preview_link.module \preview_link_entity_type_alter()
Implements hook_entity_type_alter().
File
- ./
preview_link.module, line 22 - Module file.
Code
function preview_link_entity_type_alter(array &$entity_types) : void {
$supported_entity_types = array_filter($entity_types, [
PreviewLinkUtility::class,
'isEntityTypeSupported',
]);
/** @var \Drupal\Core\Entity\ContentEntityType $type */
foreach ($supported_entity_types as $type) {
$providers = $type
->getRouteProviderClasses() ?: [];
if (empty($providers['preview_link'])) {
$providers['preview_link'] = PreviewLinkRouteProvider::class;
$type
->setHandlerClass('route_provider', $providers);
}
if (!$type
->hasLinkTemplate('preview-link-generate')) {
$type
->setLinkTemplate('preview-link-generate', $type
->getLinkTemplate('canonical') . '/generate-preview-link');
}
}
}