Usage¶
Editors can connect the pages from the different country branches in the page properties.
Example¶
Pagetree¶
- 61 International
- 71 Page A
- sys_language_uid 0 => english
- 81 Page B
- sys_language_uid 0 => english
- 91 Page C
- sys_language_uid 0 => english
- 101 Page D
- sys_language_uid 0 => english
- sys_language_uid 1 => german
- 111 Deutschland
- 121 Seite A
- sys_language_uid 0 => german
- 131 Seite B
- sys_language_uid 0 => german
- 141 Seite C
- sys_language_uid 0 => german
- sys_language_uid 11 => english
- 151 Seite D
- sys_language_uid 0 => german
- 161 Schweiz
- 201 Seite A
- sys_language_uid 0 => german
- sys_language_uid 21 => italian
- sys_language_uid 31 => french
- 191 Seite B
- sys_language_uid 0 => german
- sys_language_uid 21 => italian
- 181 Seite C
- sys_language_uid 0 => german
- sys_language_uid 31 => french
- 171 Seite D
- sys_language_uid 0 => german
- 211 Italia
- 251 Pagina A
- sys_language_uid 0 => italian
- 241 Pagina B
- sys_language_uid 0 => italian
- 231 Pagina C
- sys_language_uid 0 => italian
- 221 Pagina D
- sys_language_uid 0 => italian
- sys_language_uid 1 => german
Configuration¶
$languageMapping = array(
1 => 'de', //german
11 => 'en', //english
21 => 'it', //italian
31 => 'fr', //french
);
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['bgm_hreflang']['countryMapping'] = array(
//Example
61 => array( //International
'countryCode' => 'en',
'languageMapping' => $languageMapping + array(0 => 'en'),
),
111 => array( //Germany and Austria
'countryCode' => 'de',
'languageMapping' => $languageMapping + array(0 => 'de'),
'additionalCountries' => array('at'),
),
161 => array( //Switzerland
'countryCode' => 'ch',
'languageMapping' => $languageMapping + array(0 => 'de'),
),
211 => array( //Italy
'countryCode' => 'it',
'languageMapping' => $languageMapping + array(0 => 'it'),
),
);
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['bgm_hreflang']['defaultCountryId'] = 61;
Output¶
1) The editor connected all A pages. So we have these hreflang tags on the A pages:
<link rel="alternate" hreflang="x-default" href="http://development.bgm.projects.localhost/index.php?id=71" />
<link rel="alternate" hreflang="de-de" href="http://development.bgm.projects.localhost/index.php?id=121" />
<link rel="alternate" hreflang="de-at" href="http://development.bgm.projects.localhost/index.php?id=121" />
<link rel="alternate" hreflang="de-ch" href="http://development.bgm.projects.localhost/index.php?id=201" />
<link rel="alternate" hreflang="it-ch" href="http://development.bgm.projects.localhost/index.php?id=201&L=21" />
<link rel="alternate" hreflang="fr-ch" href="http://development.bgm.projects.localhost/index.php?id=201&L=31" />
<link rel="alternate" hreflang="it-it" href="http://development.bgm.projects.localhost/index.php?id=251" />
2) The editor connected the B pages 81, 131 and 241 (he has forgotten to connect the swiss B page 191 ;-)). So we have these hreflang tags on the B pages 81, 131 and 241:
<link rel="alternate" hreflang="x-default" href="http://development.bgm.projects.localhost/index.php?id=81" />
<link rel="alternate" hreflang="de-de" href="http://development.bgm.projects.localhost/index.php?id=131" />
<link rel="alternate" hreflang="de-at" href="http://development.bgm.projects.localhost/index.php?id=131" />
<link rel="alternate" hreflang="it-it" href="http://development.bgm.projects.localhost/index.php?id=241" />
And we have these tags on the swiss B page 191:
<link rel="alternate" hreflang="de-ch" href="http://development.bgm.projects.localhost/index.php?id=191" />
<link rel="alternate" hreflang="it-ch" href="http://development.bgm.projects.localhost/index.php?id=191&L=21" />
3) The international C page 91 is connected to the german C page 141. And the german C page 141 is connected to the italian C page 231.
<link rel="alternate" hreflang="de-de" href="http://development.bgm.projects.localhost/index.php?id=141" />
<link rel="alternate" hreflang="de-at" href="http://development.bgm.projects.localhost/index.php?id=141" />
<link rel="alternate" hreflang="it-it" href="http://development.bgm.projects.localhost/index.php?id=231" />
<link rel="alternate" hreflang="x-default" href="http://development.bgm.projects.localhost/index.php?id=91" />
4) The swiss C page 181 is not connected to any other page and has a translation.
<link rel="alternate" hreflang="de-ch" href="http://development.bgm.projects.localhost/index.php?id=181" />
<link rel="alternate" hreflang="fr-ch" href="http://development.bgm.projects.localhost/index.php?id=181&L=31" />
5) The international D page 101 is not connected to another page and has a translation.
<link rel="alternate" hreflang="x-default" href="http://development.bgm.projects.localhost/index.php?id=101" />
<link rel="alternate" hreflang="de" href="http://development.bgm.projects.localhost/index.php?id=101&L=1" />
6) The german D page 151 is not connected to any other page and has no translation, but should be used for Austria, too.
<link rel="alternate" hreflang="de-de" href="http://development.bgm.projects.localhost/index.php?id=151" />
<link rel="alternate" hreflang="de-at" href="http://development.bgm.projects.localhost/index.php?id=151" />