我想在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)
但标题仍为默认语言。
有关系统的一些信息:
如果它相关,我希望它在FLUIDTEMPLATE文件中使用direktly,而不是在Extbase扩展流体模板中。因此,我没有控制器来执行一些自定义查询并将其转发到我的视图中。
Typoscript语言配置是简单的两种语言标准,否则
P.S。我只是在我的问题中使用标题,因为它可以开箱即用。我的实际用例是我自己的extenision添加到page和page_language_overlay的几个自定义字段。但至于这个问题,你可以忽略这个事实。
任何帮助/提示都表示赞赏。 谢谢, 托马斯
答案 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,您需要关注关系。在锻造上找不到问题。