如何在TYPO3 FLUID中访问本地化页面属性?

时间:2014-09-20 17:21:54

标签: typo3 fluid

我想在Fluid模板中访问本地化页面属性。

例如

{data.title}

但无论选择哪种语言,数据数组/对象总是获得默认的语言表示。

这可以通过使用

简单地再现
<f:debug>{data}</f:debug>

在多语言页面上当前使用的FLUIDTEMPLATE。

一旦?L = 1 查询字符串被添加,Typo3显然会识别该语言已被更改,因为数据对象调试显示了其他属性/键

_PAGES_OVERLAY => TRUE
_PAGES_OVERLAY_UID => '1' (1 chars)
_PAGES_OVERLAY_LANGUAGE => 1 (integer)

但标题仍为默认语言。

有关系统的一些信息:

  • Typo3 6.2.4
  • Fluid 6.2.0(系统标准)
  • Extbase 6.2.0(系统标准版)

如果它相关,我希望它在FLUIDTEMPLATE文件中使用direktly,而不是在Extbase扩展流体模板中。因此,我没有控制器来执行一些自定义查询并将其转发到我的视图中。

Typoscript语言配置是简单的两种语言标准,否则

P.S。我只是在我的问题中使用标题,因为它可以开箱即用。我的实际用例是我自己的extenision添加到page和page_language_overlay的几个自定义字段。但至于这个问题,你可以忽略这个事实。

任何帮助/提示都表示赞赏。 谢谢, 托马斯

1 个答案:

答案 0 :(得分:0)

不知道为什么它不能与title开箱即用。但您需要使用$GLOBALS['TYPO3_CONF_VARS']['FE']['pageOverlayFields']配置本地化字段以覆盖默认值。

此选项的文档可在此处找到:https://git.typo3.org/Packages/TYPO3.CMS.git/blob/HEAD:/typo3/sysext/core/Configuration/DefaultConfiguration.php#l1099或安装工具。 正如您所看到的,title已经存在。

此选项仅定义pages的叠加层。您必须关注TCA l10n_*属性(https://docs.typo3.org/typo3cms/TCAReference/Reference/Columns/Index.html)才能在您的扩展程序中覆盖它们。对于Extbase,您需要关注关系。在锻造上找不到问题。