我目前正在开发一些在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应该是一个数组。
有人能告诉我,我想要的是什么,我需要什么语法?
最好的问候
基督教
答案 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})}