1

我有一个使用 Fluid 模板的扩展,如下所示:

<div class="bgimg" style="background-image: url({f:uri.image(src:'uploads/tx_slider/{homeslider1.bgimage}', treatIdAsReference:1, maxWidth:'1600')})"></div>

这很好用 - 背景图像被正确引用 - 如果图像太大,则调整大小。但是,我的客户开始上传 PNG 格式的图像,这导致网站输出中的文件很大(> 5MB)。

我还没有找到任何选项来告诉流体图像助手在处理时将 ​​PNG 图像转换为 JPG。我能做些什么?

4

2 回答 2

1

从 TYPO3 10.3 开始,有一个名为“fileExtension”的新流体属性。

<f:image fileExtension="jpg" image="{file}" />

您可以在此处阅读有关此功能的更多信息:https ://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/10.3/Feature-90416-SpecificTargetFileExtensionInImage-relatedViewHelpers.html

于 2021-12-16T12:54:22.847 回答
0

我的问题没有答案 - 但这是我的解决方法:

DELETE FROM sys_file_processedfile;
SELECT DISTINCT REPLACE(CONCAT('magick .', identifier, ' .', identifier, '.jpg'), 'user_upload/', 'fileadmin/user_upload') AS cmd FROM sys_file WHERE extension='png' AND size > 500000;
SELECT DISTINCT CONCAT('fart.exe "sqlbackup.sql" "', SUBSTRING_INDEX(identifier, '/', -1), '" "', SUBSTRING_INDEX(identifier, '/', -1), '.jpg"') AS cmd FROM sys_file WHERE extension='png' AND size > 500000;

查询一:删除图片缓存

查询 2:创建一个批处理命令,将所有大于 500kB 的 PNG 图像转换为 JPG。我从 Typo3 安装的根目录执行了这个批处理。必须安装 ImageMagick。

查询 3:创建一个批处理命令来替换数据库中所有出现的那些 PNG 文件。我创建了数据库的备份,然后在备份文件上运行了“fart.exe”。Fart.exe 是一个快速简单的文本替换工具。之后我导入了备份,清除了缓存,然后 Typo3 使用了更小的 JPG 文件(大约 250kB 与 5MB 相比)。

于 2019-02-01T08:57:14.797 回答