0

我使用 Extension Builder 创建了一个 Typo3 扩展。这些字段之一是图像字段。

在前端呈现实体时,我可以访问此字段,例如:

{entity.image} <!-- results in image.jpg without a path -->

但它只检索文件的名称。现在我可以创建一个文件夹,其中有关此扩展程序的所有图像都应上传,例如:

fileadmin/user_upload/entity

现在我可以将它连接到模板中,例如:

<img src=" fileadmin/user_upload/entity/{entity.image}" alt="{entity.name}">

这工作正常,直到有人多次使用该图像。在这种情况下,Typo3 将创建一个图像并在后端设置image_01.jpgimage_02.jpg等。当然,这些图像不存在于新创建的文件夹中。似乎 Typo3 在某处创建了一个副本并使用该副本中的名称。

所以我的问题是:

  • 如何在模板中获取真实的图像路径?也许在控制器的某个地方?
  • 或者如何阻止 Typo3 创建这些副本并增加每个图像的数量?
  • 或者图像 viewHelper在这里有<f:image />帮助吗?如果是这样,怎么做?

这是一个基于 extbase/fluid 的扩展。

4

2 回答 2

2

如果您使用带有 internal_type "file" 的 "group" 类型的普通字段,TYPO3 会将文件复制到

uploads/your_extension/

为了防止重复,它会为具有相同名称的文件添加数字后缀(即使它们相同)。所以你应该从那里引用文件。

在 TYPO3 6.x 中,您可能会考虑使用文件抽象层。基本上,您将 FAL 的图像字段添加到表/模型中,您将获得文件浏览器以及将文件附加到记录所需的所有内容。

在您的流体模板中,您可以访问所有 FAL 属性,例如文件大小、文件扩展名等。有关教程,请参见此处:http: //keinerweiss.de/755-typo3-fal-in-einer-eigenen-extbasefluid -extension-einsetzen.html

于 2013-10-10T13:23:28.487 回答
1

仅作记录,其无处记录:

file extension (filetype): {yourfile.originalResource.originalFile.extension}
file size (filesize): {yourfile.originalResource.originalFile.size}
type?: {yourfile.originalResource.originalFile.type}
于 2015-07-22T21:26:20.710 回答