public function MetatagNormalizer::normalize in Metatag 8
1 call to MetatagNormalizer::normalize()
- MetatagHalNormalizer::normalize in src/
Normalizer/ MetatagHalNormalizer.php - Normalizes an object into a set of arrays/scalars.
1 method overrides MetatagNormalizer::normalize()
- MetatagHalNormalizer::normalize in src/
Normalizer/ MetatagHalNormalizer.php - Normalizes an object into a set of arrays/scalars.
File
- src/
Normalizer/ MetatagNormalizer.php, line 20
Class
- MetatagNormalizer
- Normalizes metatag into the viewed entity.
Namespace
Drupal\metatag\NormalizerCode
public function normalize($field_item, $format = NULL, array $context = []) {
// @see metatag_get_tags_from_route()
$entity = $field_item
->getEntity();
$tags = metatag_get_tags_from_route($entity);
$normalized['value'] = [];
if (isset($tags['#attached']['html_head'])) {
foreach ($tags['#attached']['html_head'] as $tag) {
// @todo Work out a proper, long-term fix for this.
if (isset($tag[0]['#attributes']['content'])) {
$normalized['value'][$tag[1]] = $tag[0]['#attributes']['content'];
}
elseif (isset($tag[0]['#attributes']['href'])) {
$normalized['value'][$tag[1]] = $tag[0]['#attributes']['href'];
}
}
}
if (isset($context['langcode'])) {
$normalized['lang'] = $context['langcode'];
}
return $normalized;
}