If statement 打字错误3。如何随语言条件改变流质节拍

If statement 打字错误3。如何随语言条件改变流质节拍,if-statement,fluid,typo3-10.x,fluid-styled-content,If Statement,Fluid,Typo3 10.x,Fluid Styled Content,我使用Typo3 1.4.10,使用引导包 我尝试根据当前使用的前端语言更改Typo3流体模板。 我尝试过各种“如果条件”。我就是想不出来。 我尝试过使用siteLanguage、language和sys\u language\u uid。在TSsetup站点中,语言对我的作用如下: [siteLanguage("locale") == "en_US.UTF-8"] ... [global] 我不知道如何在流体模板中执行类似的操作。 我尝试了很多不同

我使用Typo3 1.4.10,使用引导包

我尝试根据当前使用的前端语言更改Typo3流体模板。 我尝试过各种“如果条件”。我就是想不出来。 我尝试过使用siteLanguage、language和sys\u language\u 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>

语言1
语言0

您可以使用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>

语言0
其他语言

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

如果在打字脚本设置中它对您有效,您应该使用它来切换模板文件或提供包含语言信息的变量

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


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

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

1.为页面的流体模板定义简单字符串变量 这是打字脚本设置的代码

//设置默认值
page.10.variables.currentLanguage=文本
page.10.variables.currentLanguage.value=默认值
//将值更改为英语
[siteLanguage(“locale”)=“en_US.UTF-8”]
page.10.variables.currentLanguage.value=英语
[全球]
//将值更改为德语
[siteLanguage(“locale”)=“de_de.UTF-8”]
page.10.variables.currentLanguage.value=deutsch
[全球]
2.为流体模板设置定义一个(或多个)值 这是打字脚本设置的代码

//设置默认值
page.10.settings.currentLanguage=默认值
//英式
[siteLanguage(“locale”)=“en_US.UTF-8”]
page.10.settings.currentLanguage=英语
[全球]
//德文
[siteLanguage(“locale”)=“de_de.UTF-8”]
page.10.settings.currentLanguage=德语
[全球]
根据您的语言值切换流体模板 在流体模板中,应使用如下开关语句:


...
还有问题吗?请随便问!