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

Flo*_*hor 8 typo3 fluid typo3-7.6.x

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

问题是如何访问以绿色,正在widthheight,以及突出显示的属性hovertext.

原始文件是一个图像,所以width&height是默认的T3属性,hovertext由我的扩展添加了它自己的getter/setter.

我尝试了以下方法:

{fileReference.width}
{fileReference.mergedProperties.width}
{fileReference.originalResource.width}
Run Code Online (Sandbox Code Playgroud)

到目前为止没有运气,访问价值观的正确方法是什么mergedProperties

非常感谢

弗洛里安

TYPO3液体调试

Dim*_* L. 17

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

知道你可以查看sysext/core/Classes/Resource/FileReference.php文件,看看它有什么吸引力.我们可以快速找到public function getProperties()返回您标记的合并属性的内容,因此正确的解决方案应该是:

{fileReference.properties.width}
Run Code Online (Sandbox Code Playgroud)

  • 这个答案和问题应该由任何看到它的人提出.它完整​​地解释了有关DebuggerUtility和Fluid(内部,Extbase)变量访问的详细信息.如果您想了解有关Fluid如何访问任何变量的*每个*最后详细信息,您可以找到https://vimeo.com/169551666提供信息.但是,请提出这个答案和问题! (3认同)
  • 同样,这是必须在文档中解释的信息。 (2认同)