Fluid的图像视图帮助器显示过时的图像

时间:2019-05-07 10:46:58

标签: typo3 fluid typo3-6.2.x fal

以下情况:

  • 自动导入项目:
    • 某些cron任务perl将商品图像更新到文件夹uploads/myExt/<Vendor>/<Serial>/中(产品之间的供应商和序列号可能有所不同)
    • 图像具有命名约定,每个产品都有其自己的文件夹
    • 在命令行上启动命令脚本,该命令脚本通过XML文件获取产品数据;数据存储在数据库中(Extbase tx_myext_domain_model_item
  • 前端渲染
    • Extbase控制器扫描项目的图像文件夹uploads/myExt/<Vendor>/<Serial>/,并在该文件夹中发送文件名数组(名称:imagesInFolder)以及文件夹名称(名称:imageFolder)到模板
    • 流体模板在imagesInFolder上循环:<f:for each="{imagesInFolder}" as="image">
    • 借助Fluid的image视图助手:<f:image src="{item.imageFolder -> f:format.raw()}/{image}" maxWidth="193" maxHeight="145" />
    • ,为每个图像渲染图像的缩略图。

这是问题所在:

更改文件顺序时,仅更改文件名。但在前端的顺序与以前相同,这是错误的。 _processed_文件夹中已处理的缩略图未更新。我试图将文件的mtime和ctime更改为比已处理文件的更新,但没有任何更改。

当原始文件较新时,如何告诉TYPO3重新渲染处理过的文件?

也许我没有找到一些Fluid的TypoScript设置来做到这一点。
也许在导入过程中可以调用某些服务?

1 个答案:

答案 0 :(得分:1)

有一个名为“文件抽象层:更新存储索引” 的调度程序任务,该任务扫描文件存储中的新文件或更改文件。

确保任务经常启动。

通常:尝试避免替换或重命名文件,因为TYPO3会生成依赖文件和记录,而这些文件和记录都需要刷新。

请注意,还有另一个类似的任务:“文件抽象层:提取存储中的元数据” ,可能需要在另一个之后调用。