类型3.如何根据语言条件改变流体温度



我使用Typo3 1.4.10,使用引导包

我尝试根据当前使用的前端语言更改Typo3流体模板。我试过各种各样的";如果条件";。我就是想不通。我尝试过使用siteLanguage、language和sys_language_uid。在TSsetup网站中,语言对我有效,如:

[siteLanguage("locale") == "en_US.UTF-8"]
...
[global]

我不知道是如何在流体模板中做类似的事情。我尝试了很多不同的方法。我该如何纠正我多次尝试中的一次所举的以下示例?

<f:if condition="{siteLanguage} == {siteLanguage.locale}">
<f:if condition="{siteLanguage.locale} == en">
<f:then>
language 1
</f:then>
<f:else>
language 0
</f:else>
</f:if> </f:if>

您可以使用vhs viewhelper

<html data-namespace-typo3-fluid="true"
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers">

<f:if condition="{v:page.language()}==0">
<f:then>
language 0
</f:then>
<f:else>
other language
</f:else>
</f:if>
</html>

因此,您必须首先安装扩展vhs。

有两种方法,我在最近的项目中也使用了它们。我希望这对你和其他人也有帮助。

1.为PAGE的流体模板定义一个简单的字符串变量

这是TypoScript设置的代码。

// Setting a default value
page.10.variables.currentLanguage = TEXT
page.10.variables.currentLanguage.value = default
// Change value to English
[siteLanguage("locale") == "en_US.UTF-8"]
page.10.variables.currentLanguage.value = english
[global]
// Change value to German
[siteLanguage("locale") == "de_DE.UTF-8"]
page.10.variables.currentLanguage.value = deutsch
[global]

2.为流体模板设置定义一个(或多个(值

这是TypoScript设置的代码。

// Setting a default value
page.10.settings.currentLanguage = default
// English
[siteLanguage("locale") == "en_US.UTF-8"]
page.10.settings.currentLanguage = english
[global]
// German
[siteLanguage("locale") == "de_DE.UTF-8"]
page.10.settings.currentLanguage = deutsch
[global]

根据您的语言值切换Fluid模板

在你的流体模板中,你应该使用这样的切换语句:

<f:switch expression="{currentLanguage}">
<f:case value="english">
<!-- English content -->
</f:case>
<f:case value="deutsch">
<!-- German content -->
</f:case>
<f:defaultCase>
<!-- Default content -->
</f:case>
</f:switch>
<!-- When using the settings, you need to use: -->
<f:switch expression="{settings.currentLanguage}">
...

还有什么问题吗?请随意提问

如果它在TypoScript设置中适用,您应该使用它来切换模板文件或提供包含语言信息的变量。

在Fluid模板本身中执行此操作将增加处理负载,尤其是当您尝试使用ViewHelper解决该问题时。

IMHO建议使用TypoScript切换模板和/或布局,因为您仍然可以选择相同的部分以避免冗余代码,但必须只检查一次条件。

最新更新