图像扩展:如何获取模板中的完整图像路径?

时间:2013-10-10 10:17:53

标签: typo3 typo3-6.1.x

我使用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.jpg image_02.jpg 等。当然,新创建的文件夹中不存在这些图像。似乎,Typo3在某处创建了一个副本,并使用该副本中的名称。

所以我的问题是:

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

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

2 个答案:

答案 0 :(得分:2)

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

uploads/your_extension/

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

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

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

答案 1 :(得分:1)

只是为了记录,它没有记录:

file extension (filetype): {yourfile.originalResource.originalFile.extension}
file size (filesize): {yourfile.originalResource.originalFile.size}
type?: {yourfile.originalResource.originalFile.type}
相关问题