如何在流体中访问 FileReference 对象的属性

How to access properties of a FileReference Object in fluid

下面是 fluid 中 FileReference 类型对象的调试。在 fluid 中,调试看起来像这样:<f:debug>{fileReference}</f:debug>

问题是如何访问以绿色突出显示的属性,即 widthheighthovertext

原始文件是一个图像,因此 widthheight 是默认的 T3 属性,hovertext 已由我的扩展程序添加了它自己的 getter/setter。

我尝试了以下方法:

{fileReference.width}
{fileReference.mergedProperties.width}
{fileReference.originalResource.width}

到目前为止运气不好,访问 mergedProperties 中的值的正确方法是什么?

非常感谢

弗洛里安

f:debug显示了类似于var_dump函数的东西,所以一个对象的属性。在流体中,您只能访问 getter 函数,或者如果它是数组,则只能访问数组的值。因此,如果您编写类似 {fileReference.mergedProperties} 的内容,则方法 getMergedProperties() 将在存在时被调用。

知道您可以查看 sysext/core/Classes/Resource/FileReference.php 文件内部,看看它有什么 getter。我们可以很快找到public function getProperties()那个returns你标记的合并属性,所以正确的解法应该是这样的:

{fileReference.properties.width}