TYPO3 Fluid Template language-code bekommen
Ist es möglich, sich die aktuelle Sprache-Schlüssel (oder code) in einem TYPO3 Fluid template?
In der Zwischenzeit habe ich eine andere Lösung gefunden mit einem view-helper gefunden hier:
<?php
class Tx_AboUnitReservation_ViewHelpers_LanguageViewHelper extends Tx_Fluid_Core_ViewHelper_AbstractViewHelper {
/**
* Get the current language
*/
protected function getLanguage() {
if (TYPO3_MODE === 'FE') {
if (isset($GLOBALS['TSFE']->config['config']['language'])) {
return $GLOBALS['TSFE']->config['config']['language'];
}
} elseif (strlen($GLOBALS['BE_USER']->uc['lang']) > 0) {
return $GLOBALS['BE_USER']->uc['lang'];
}
return 'en'; //default
}
/**
* Return current language
* @return string
*/
public function render() {
return $this->getLanguage();
}
}
?>
Welches ich im fluid-template wie folgt.
<f:alias map="{isGerman: 'de'}">
<f:if condition="{aboUnitReservation:language()} == {isGerman}">
<script type="text/javascript" src="{f:uri.resource(path:'js/jquery.ui.datepicker-de-CH.js')}"></script>
</f:if>
</f:alias>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nur zuweisen, Variablen in den Aktion:
und dann Lesen Sie es in Ihre Ansicht:
auf der anderen Seite wäre es einfacher und bequemer zu ordnen redy-to-use-variable in der Steuerung als
<f:if ...>
block ist Recht einfach und manchmal einfach nur unangenehm:f:translate
. Vielleicht eine bessere Strategie ist Lesen "- flag icon-name" - Wert aus der Sprache und verwenden, die in einen Namen übersetzt ein Etikett, z.B.LLL:EXT:myext/Resources/Private/Language/locallang.xml:languages.de
und.en
etc.Andere Lösung mit TypoScript-Objekt in Fluid-template:
- Und Fluid-code:
Objekt
temp.language
können beliebige Werte natürlich.Um die aktuelle Sprache, die Sie verwenden können, die Seite/LanguageViewHelper aufgenommen mit der VHS-extension.
Haben einen Blick hier : http://fluidtypo3.org/viewhelpers/vhs/1.8.3/Page/LanguageViewHelper.html
meine Lösung ist diese:
data = TSFE:sys_language_uid
(Die Ausgabe ist die Sprache, UID)
Nun u verwenden können, die neuen "Variablen", die in FLÜSSIGKEIT:
Oder verwenden Sie diese für mehrere Lang-Code:
Eine weitere option könnte sein, die
v:page.languageMenu
ViewHelper aus der VHS-extension. Es würde Ihnen erlauben, zu kombinieren mit anderen Viewhelfer und verwenden Sie etwas wie das folgende in einem Fluid template:Es ist ein viel mehr können Sie tun, um die Werte von jeder der diese Viewhelfer - Sie können zum Beispiel verwenden
v:var.set
Definition von neuen Variablen in der Vorlage enthalten, extrahiert flag-Namen: