diff --git a/bundle/Handler/Literal/CanonicalUrl.php b/bundle/Handler/Literal/CanonicalUrl.php new file mode 100644 index 0000000..3a86261 --- /dev/null +++ b/bundle/Handler/Literal/CanonicalUrl.php @@ -0,0 +1,39 @@ +router = $router; + } + + public function getMetaTags($tagName, array $params = []): array + { + $value = $this->router->generate( + UrlAliasRouter::URL_ALIAS_ROUTE_NAME, + [ + 'locationId' => $this->content->contentInfo->mainLocationId, + ], + UrlGeneratorInterface::ABSOLUTE_URL, + ); + + return [ + new Item( + $tagName, + $value + ), + ]; + } +} diff --git a/bundle/Resources/config/handlers.yaml b/bundle/Resources/config/handlers.yaml index 960e8c1..3405c7f 100644 --- a/bundle/Resources/config/handlers.yaml +++ b/bundle/Resources/config/handlers.yaml @@ -22,6 +22,13 @@ services: tags: - { name: netgen_open_graph.meta_tag_handler, alias: literal/url } + netgen_open_graph.handler.literal.canonical_url: + class: Netgen\Bundle\OpenGraphBundle\Handler\Literal\CanonicalUrl + arguments: + - "@router" + tags: + - { name: netgen_open_graph.meta_tag_handler, alias: literal/canonical_url } + netgen_open_graph.handler.field_type.text_line: class: Netgen\Bundle\OpenGraphBundle\Handler\FieldType\TextLine parent: netgen_open_graph.handler.field_type.abstract