DEPRECATION WARNING
This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.
Configuration¶
The configuration is done in the AdditionalConfiguration.php or your Theme-Extension’s ext_localconf.php:
$languageMapping = array(
//"sys_language_uid" and "isolanguagecode" have to be unique in the array $languageMapping!
sys_language_uid => isolanguagecode,
//Example
1 => 'de', //german
11 => 'en', //english
21 => 'it', //italian
31 => 'fr', //french
);
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['bgm_hreflang']['countryMapping'] = array(
//"pageid" is the rootpage of a country branch. It has to be unique in the array $countryMapping!
pageid => array(
//"isocountrycode" has to be unique in the array $countryMapping!
'countryCode' => isocountrycode,
//'$languageMapping + array(0 => isolanguagecode)' can be assigned more than once with the same "isolanguagecode" in the array countryMapping.
'languageMapping' => $languageMapping + array(0 => isolanguagecode),
//This optional 'additionalGetParameters' can be assigned to every language of the current country
'additionalGetParameters' => array(
//"sys_language_uid" has to be unique in the array $additionalGetParameters!
sys_language_uid => isolanguagecode,
//Example
1 => '&foo=bar&john=doe', //append &foo=bar&john=doe to the link to sys_language 1 in this country
),
//This optional 'domainName' can be assigned, if you would like to prepend a certain domain name before your urls.
//It overrides an automatically assigned domain from the typolink function.
'domainName' => 'https://www.domain.tld',
//This is optional. You need this, if you want the Germany country branch to be used as Austrian country branch, too.
'additionalCountries' => array(isocountrycode, isocountrycode, ...),
),
//Example
61 => array( //International
'countryCode' => 'en',
'languageMapping' => $languageMapping + array(0 => 'en'),
'additionalGetParameters' => array(
1 => '&foo=bar&john=doe',
),
'domainName' => 'https://www.my-domain.com',
),
111 => array( //Germany and Austria
'countryCode' => 'de',
'languageMapping' => $languageMapping + array(0 => 'de'),
'additionalGetParameters' => array(
0 => '&foo=0',
1 => '&foo=1',
31 => '&foo=31',
),
'additionalCountries' => array('at'),
'domainName' => 'https://www.my-domain.de',
),
161 => array( //Switzerland
'countryCode' => 'ch',
'languageMapping' => $languageMapping + array(0 => 'de'),
'domainName' => 'https://www.my-domain.it',
),
211 => array( //Italy
'countryCode' => 'it',
'languageMapping' => $languageMapping + array(0 => 'it'),
),
);
//If $_GET['L']==0, pages in this tree are rendered with hreflang="x-default", else only the isolanguagecode is used (without the isocountrycode)
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['bgm_hreflang']['defaultCountryId'] = 61;
And you need some TypoScript:
page.headerData.30 = USER
page.headerData.30 {
userFunc = BGM\BgmHreflang\Utility\HreflangTags->renderFrontendList
}