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
是否有可能 - 以及如何?
答案 0 :(得分:3)
TypoScript
无法做到这一点,因为TypoScript
不是逐行执行,而是解析为一个配置树,然后传递给FrontendController
(技术上的呼叫顺序)是另一种方式,但不要试图进入TYPO3的内在魔法。)
因此,您需要定义自己的包装脚本,可以使用stdWrap
方法在所需位置调用,或者切换到Fluid
模板并创建一个viewhelper
进行切换为了你。在此viewhelper
中,您可以使用您在问题中提到的代码。
TypoScript
设置全局执行setlocale()
。当然,您可以在执行自己的PHP代码时进行切换。这意味着您可以在FrontendController
或Controller
内切换设置(即使在View
内)。