TYPO3:在Extbase中获取文件引用的路径

Hay*_*ayo 3 typo3 fluid extbase

我创建了一个带有Fluid和Extbase的自定义内容元素(TYPO3 6.1),您可以在其中定义图片.在图片设置中,我可以设置一个目标文件的img-link.

在我的控制器中,我可以访问此数据

$this->configurationManager->getContentObject();
Run Code Online (Sandbox Code Playgroud)

但我只是得到了这个设置的文件参考,没有路径.像这样:

file:1206
Run Code Online (Sandbox Code Playgroud)

我已经google了很多,我找不到访问路径的解决方案.有没有人可以在配置管理器或别的东西中找到解决方案或知道某个功能?我花了好几个小时来解决这个问题......

非常感谢!

Viv*_*mar 15

如果您需要从FAL获取图像而不是使用以下图像视图助手

<f:image src="{object.image_field.uid}" alt="{object.image_field.originalResource.title}" width="640" height="291" treatIdAsReference="1" />
Run Code Online (Sandbox Code Playgroud)

如果你只需要图像的URL而不是使用以下行

{} object.image.originalResource.publicUrl ..

欢呼.


Ced*_*iel 10

你有什么,是FAL文件抽象层的文件引用.

首先,如果将FlexForms与ActionController(或任何AbstractController的实现)结合使用,您应该能够访问该settings属性来计算FlexForm值.

要计算sys_file_reference记录,您应该参考typo3.org上FAL文档(以及关于文件和文件夹处理的perma链接部分).

在一般情况下,你应该能够调用getOriginalResource()一个上\TYPO3\CMS\Extbase\Domain\Model\FileReference对象.有关更具体的示例,请参阅doc链接或查看wiki以获取处理FileReferences的示例.

如果要通过流体模板计算此类引用,可以使用treatIdAsReferencef:image上的参数:

<f:image src="{imageObj.uid}" width="150" height="100" treatIdAsReference="1" />

  • 我建议使用提供的`image`属性,而不是通过src属性解析uid.所以`<f:image image ="{imageObj}"treatIdAsReference ="TRUE"/>` (2认同)