TYPO3:使用fluid的日期视图助手内联作为翻译视图助手的参数

时间:2013-05-06 13:38:21

标签: typo3 fluid view-helpers

我目前正在开发一些在TYPO3 6中使用的扩展程序。

在一个视图中,我有包含日期​​字段的数据库记录。我可以使用以下内容输出日期值:

<f:format.date format="d.m.Y H:i:s">{record.validend}</f:format.date>

但是,我需要翻译的消息,所以我想使用翻译视图助手并将格式化的日期放在 arguments 属性中。到目前为止没有成功。

我试过了:

<f:translate key="{msg_id}" arguments="{0: code, 1: {f:format.date(date: record.validend, format: 'd.m.Y H:i:s')}}" htmlEscape="0" />

......和......

<f:translate key="{msg_id}" arguments="{0: code, 1: {record.validend -> f:format.date(format: 'd.m.Y H:i:s')}}" htmlEscape="0" />

...遵循本指南:http://forge.typo3.org/projects/typo3v4-mvc/wiki/Fluid_Inline_Notation

但是,我的符号中似乎存在一些语法错误,迫使流体将整个事物解释为字符串,从而导致错误,导致参数attribut应该是一个数组。

有人能告诉我,我想要的是什么,我需要什么语法?

最好的问候

基督教

2 个答案:

答案 0 :(得分:9)

您需要使用反斜杠转义格式引号。

解决方案是:

<f:translate key="{msg_id}" arguments="{0: code, 1: '{f:format.date(date: record.validend, format: \'d.m.Y H:i:s\')}'}" htmlEscape="false" />

答案 1 :(得分:0)

将format.date用作变量的正确方法是:

{f:format.date(format : 'd-m-Y H:i:s', date : '@1368093280')}

我测试了您的请求,似乎无法在ViewHelper的参数arguments内调用ViewHelper。

所以你应该尝试其他类似自定义的ViewHelper或在控制器中设置日期格式,这样你就有了一个包含格式化日期的变量:

{f:translate(key : msg.id, arguments : {0 : msg.date})}