function _external_hreflang_get_metatags in External Hreflang 8
Load the meta tags by processing the route parameters.
Return value
mixed Array of hreflang tags or NULL.
See also
1 call to _external_hreflang_get_metatags()
File
- ./
external_hreflang.module, line 63 - Module file.
Code
function _external_hreflang_get_metatags(string $entity_type_id = '', string $bundle = '') {
/** @var \Drupal\Core\Entity\EntityTypeManagerInterface $global_metatag_manager */
$global_metatag_manager = \Drupal::entityTypeManager()
->getStorage('metatag_defaults');
// First we load global defaults.
$metatags = $global_metatag_manager
->load('global');
if (!$metatags) {
return NULL;
}
// Than we load for front page.
if ($entity_type_id) {
$entity_metatags = $global_metatag_manager
->load($entity_type_id);
$metatags
->overwriteTags($entity_metatags
->get('tags'));
// Check if bundle overrides should be added.
$bundle_metatags = $global_metatag_manager
->load($entity_type_id . '__' . $bundle);
if ($bundle_metatags != NULL) {
// Merge with existing defaults.
$metatags
->overwriteTags($bundle_metatags
->get('tags'));
}
}
else {
$front_metatags = $global_metatag_manager
->load('front');
$metatags
->overwriteTags($front_metatags
->get('tags'));
}
$hreflag_tags = $metatags
->get('tags')['hreflang_external'] ?? '';
return ExternalHreflang::getHrefLangsArrayFromString($hreflag_tags);
}