TYPO3 - Sprachmenü
Aus Wikizone
Neue Version ab TYPO3 v9 mit Sitekonfiguration
Fluid Language Menu[Bearbeiten]
Aus Bootstrap Package In neueren Typo3 Versionen (ca 8 oder 9) gibt es für Menüs den MenuProcessor und speziell für die Sprachmenüs den LanguageMenuProcessor
TypoScript
page.10 = FLUIDTEMPLATE
page.10 {
...
dataProcessing {
...
40 = TYPO3\CMS\Frontend\DataProcessing\LanguageMenuProcessor
40 {
languages = {$page.theme.language.languageValue}
as = languagenavigation
}
}
Fluid
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<f:if condition="{languagenavigation}">
<ul id="language_menu" class="language-menu">
<f:for each="{languagenavigation}" as="item">
<li class="{f:if(condition: item.active, then: 'active')} {f:if(condition: item.available, else: 'text-muted')}">
<f:if condition="{item.available}">
<f:then>
<a href="{item.link}" hreflang="{item.hreflang}" title="{item.title}">
<span>{item.navigationTitle}</span>
</a>
</f:then>
<f:else>
<span>{item.navigationTitle}</span>
</f:else>
</f:if>
</li>
</f:for>
</ul>
</f:if>
</html>
Attribute des LanguageMenuProcessor: (Beispiel)
array(11 items) languageId => 0 (integer) locale => 'de_DE.UTF-8' (11 chars) title => 'Deutsch' (7 chars) navigationTitle => 'Deutsch' (7 chars) twoLetterIsoCode => 'de' (2 chars) hreflang => 'de-DE' (5 chars) direction => '' (0 chars) link => '...' (20 chars) active => 1 (integer) current => 0 (integer) available => 1 (integer) array(11 items) languageId => 1 (integer) locale => 'en_UK.UTF-8' (11 chars) title => 'Englisch' (8 chars) navigationTitle => 'English' (7 chars) twoLetterIsoCode => 'en' (2 chars) hreflang => 'en-UK' (5 chars) direction => '' (0 chars) link => '...' (23 chars) active => 0 (integer) current => 0 (integer) available => 1 (integer)