Fluid 的图像视图助手显示过时的图像



以下情况:

  • 自动导入项目:
    • 项目的图像由某些 cron 任务 perl 更新到文件夹uploads/myExt/<Vendor>/<Serial>/中(供应商和序列号可能因产品而异)
    • 图像具有命名约定,每个产品都有自己的文件夹
    • 命令脚本在
    • 命令行上启动,该脚本通过XML文件获取产品数据;数据存储在数据库中(Extbasetx_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 更改为比已处理文件的 mtime 和 ctime 更新,但没有任何变化。

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

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

有一个名为"文件抽象层:更新存储索引">的计划程序任务,用于扫描文件存储以查找新文件或更改的文件。

确保任务开始的频率足够高。

一般情况下:尽量避免替换或重命名文件,因为 TYPO3 会生成依赖文件和记录,这些文件和记录都需要刷新。

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

最新更新