4

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

在我的控制器中,我可以使用

$this->configurationManager->getContentObject();

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

file:1206

我用谷歌搜索了很多,我没有找到访问路径的解决方案。有没有人有解决方案或知道配置管理器中的功能或其他东西?我在这个问题上花了几个小时......

非常感谢!

4

3 回答 3

16

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

<f:image src="{object.image_field.uid}" alt="{object.image_field.originalResource.title}" width="640" height="291" treatIdAsReference="1" />

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

{object.image.originalResource.publicUrl}..

欢呼。

于 2015-06-12T07:54:13.447 回答
10

您在那里拥有的是FAL文件抽象层的文件引用。

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

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

通常,您应该能够调用getOriginalResource()对象\TYPO3\CMS\Extbase\Domain\Model\FileReference。有关更具体的示例,请参阅文档链接或查看wiki以获取处理 FileReferences 的示例。

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

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

于 2013-08-21T22:25:06.503 回答
3

他要求的是一条路径,而不是一个图像。这将打印流体模板中的路径:

{f:uri.image(src:'{object.uid}',treatIdAsReference:'1')}
于 2017-10-28T18:58:44.447 回答