在一页上切换TYPO3中的区域设置,"直播#34;

时间:2015-10-22 14:42:43

标签: typo3 locale typo3-6.2.x

On Set multiple locales on one page我开悟了你可以在一次php调用期间在php live中切换语言环境。

例如,像这样:

    $locale_old = setlocale(LC_TIME, 0);
    setlocale(LC_TIME, 'fr_CH');
    // do something
    setlocale(LC_TIME, $locale_old);

TYPO3怎么样?我在一个页面上有不同的日期,应根据他们所在的内容元素以不同的语言显示。

由于呈现日期的区域设置是全局设置的,因此无法使用这两个TypoScript设置完成:

config.locale_all = de_CH
config.locale_all = fr_CH

是否有可能 - 以及如何?

1 个答案:

答案 0 :(得分:3)

TypoScript无法做到这一点,因为TypoScript不是逐行执行,而是解析为一个配置树,然后传递给FrontendController(技术上的呼叫顺序)是另一种方式,但不要试图进入TYPO3的内在魔法。)

因此,您需要定义自己的包装脚本,可以使用stdWrap方法在所需位置调用,或者切换到Fluid模板并创建一个viewhelper进行切换为了你。在此viewhelper中,您可以使用您在问题中提到的代码。

TypoScript设置全局执行setlocale()。当然,您可以在执行自己的PHP代码时进行切换。这意味着您可以在FrontendControllerController内切换设置(即使在View内)。