在TYPO3中切换区域设置;“活的”;,在一页上

在TYPO3中切换区域设置;“活的”;,在一页上,typo3,locale,typo3-6.2.x,Typo3,Locale,Typo3 6.2.x,在我被启发时,您可以在一次php调用期间在php live中切换区域设置 例如,像这样: $locale_old = setlocale(LC_TIME, 0); setlocale(LC_TIME, 'fr_CH'); // do something setlocale(LC_TIME, $locale_old); 第三类呢?我在一个页面上有不同的日期,应该根据它们所处的内容元素以不同的语言显示 由于呈现日期的区域设置是全局设置的,因此无法使用以下两种键入脚本

在我被启发时,您可以在一次php调用期间在php live中切换区域设置

例如,像这样:

    $locale_old = setlocale(LC_TIME, 0);
    setlocale(LC_TIME, 'fr_CH');
    // do something
    setlocale(LC_TIME, $locale_old);
第三类呢?我在一个页面上有不同的日期,应该根据它们所处的内容元素以不同的语言显示

由于呈现日期的区域设置是全局设置的,因此无法使用以下两种键入脚本设置:

config.locale_all = de_CH
config.locale_all = fr_CH

是否可能?如何可能?

这在
打字脚本
中是不可能的,因为
打字脚本
不是逐行执行的,而是解析为一个配置树,然后传递给
前端控制器
(技术呼叫顺序是另一种方式,但不要试图进入打字3的内在魔力)

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


TypoScript
设置全局执行
setlocale()
。当然,您可以在执行自己的PHP代码时切换设置。这意味着您可以切换设置(即使在
FrontendController
中)在你的
控制器内
或在你的
视图中

啊,很有趣!事实上,我已经在为这些部分使用tx\U新闻。因此我可以创建一个VH“setLocale”,并根据该内容对象的TS中设置的选项在新闻模板中调用它。很好,非常感谢!是的,这将是一个干净的方式。我已经制作了viewhelper like this并尝试将其添加为:-但这不会改变随后出现的
格式.date
VH的区域设置。因此,我必须使用自己专有的
格式.date
VH,或者您知道我做错了什么吗?我会将其包装起来,但它应该按照您的意愿工作。您是否调试了viewhelper调用了吗?是的,它被调用了,我输出了区域设置,它被设置为de_CH,但是下一个流体VH仍然在de_FR中输出日期。我将尝试包装!