所以我有一张桌子,上面列出了一些约会。这些约会属于一个事件。这里的目标是列出所有约会并获取它们所属事件的信息。
到目前为止,一切正常,直到我尝试获取事件的信息。我得到一个看起来像这样的对象:
现在,如果我使用这样的内容:{appointment.event.title}
,它将返回NULL
。
这意味着它不访问属性。 在TYPO3 v8中,它可以完美运行,但在TYPO3 v9中,效果不佳。
如果我激活<f:debug>{appointment}</f:debug>
并获得调试的整个对象,那么此{appointment.event.title}
就可以了!我可以得到标题。
现在的问题是,自TYPO3 8以来发生了什么变化,无法再访问这些属性,我该如何重新获得访问权限?
使用中:TYPO3 v9
模式:作曲家
最诚挚的问候,
答案 0 :(得分:1)
可能是以下情况之一:
f:debug
的输出与对象的实际上的获取表混淆了。调试ViewHelper输出还可以保护属性。__call
或__get
构造了模型对象,因此您受到https://github.com/TYPO3/Fluid/pull/438的影响,该问题已解决但尚未发布(当前Fluid版本为2.6.0,将包括补丁)在下一版本中。您不会说您使用的是哪个TYPO3版本,也不会使用作曲家,因此很难判断您的Fluid版本是否相同-应该是相同的,因为TYPO3 v8和TYPO3 v9都使用相同的外部版本。流体库。
这两种情况下的解决方案都是向您的域模型对象中添加适当的getter方法,并始终记住f:debug
的输出并不100%对应于您实际可以访问的内容:f:debug
将示例未显示不具有与其关联的属性的虚拟getter方法。
答案 1 :(得分:1)
我找到了解决问题的方法。
感谢@Claus Due,我访问了我的模型,以查看getter和setter是否在那里。在我使用getter之前,它们在那里,但@lazy
参数已经存在。我删除后,一切正常。
谢谢!