dachcom-digital / pimcore-i18n

Pimcore - i18n Manager
Other
28 stars 18 forks source link

HeadLink listener and Href-lang #2

Closed dennistiboni-extera closed 6 years ago

dennistiboni-extera commented 6 years ago

Hi, Why hreflang tags are added only in country mode?

I have only 1 zone and my language strategy is maindomain.com/en maindomain.com/it etc.. in language mode.

my zone config:

i18n:

# set mode (language|country)
mode: language

# define a language adapter (system|custom)
language_adapter: i18n.adapter.language.system

# define a country adapter (system|coreshop|custom)
country_adapter: i18n.adapter.country.system

# define a global prefix (like de-global or de-int)
global_prefix: ~

# static route translations
translations: ~

zones:

    # zone 1: language and country
    -
        id: 1
        name: 'zone 1'
        domains:
            - 'www.marcolin.vag'
        config:
            mode: language
            language_adapter: i18n.adapter.language.system
            country_adapter: ~
            global_prefix: ~
            translations: ~

HeadLinkListener.php

public function onKernelRequest(GetResponseEvent $event)
    {
        ......

        if ($this->zoneManager->getCurrentZoneInfo('mode') !== 'country') {
            return;
        }

        $document = $this->documentResolverService->getDocument($request);
        $hrefLinks = $this->pathGeneratorManager->getPathGenerator()->getUrls($document);

        //add x-default to main page!
        $xDefaultUrl = $this->getXDefaultLink($hrefLinks);

        if (!is_null($xDefaultUrl)) {
            $this->headLink->appendAlternate($this->generateHrefLink($xDefaultUrl), FALSE, FALSE, ['hreflang' => 'x-default']);
        }

        foreach ($hrefLinks as $route) {
            $this->headLink->appendAlternate($this->generateHrefLink($route['url']), FALSE, FALSE, ['hreflang' => $route['hrefLang']]);
        }
    }

Regards,

solverat commented 6 years ago

Hey @dennistiboni-extera, that's a legitimate question. :) fixed!

dennistiboni-extera commented 6 years ago

Thank you @solverat