TYPO3 Fluid:强制图片格式为jpg
TYPO3 Fluid: Force image format to be jpg
我有一个使用 Fluid 模板的扩展,如下所示:
<div class="bgimg" style="background-image: url({f:uri.image(src:'uploads/tx_slider/{homeslider1.bgimage}', treatIdAsReference:1, maxWidth:'1600')})"></div>
效果很好 - 背景图像被正确引用 - 如果图像太大,则会调整图像大小。然而,我的客户开始上传 PNG 格式的图像,这导致网站输出中出现大文件 (>5MB)。
我没有找到任何选项来告诉 Fluid 图像助手在处理时将 PNG 图像转换为 JPG。我能做什么?
我的问题没有答案 - 但这是我的解决方法:
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;
查询 1: 删除图片缓存
查询 2: 创建一个批处理命令,将所有大于 500kB 的 PNG 图像转换为 JPG。我从我的 Typo3 安装的根目录执行这个批处理。必须安装 ImageMagick。
查询 3: 创建一个批处理命令来替换数据库中出现的所有这些 PNG 文件。我创建了数据库的备份,然后 运行 "fart.exe" 备份文件。 Fart.exe 是一个快速简单的文本替换工具。之后我导入了备份,清除了缓存,Typo3 使用了更小的 JPG 文件(大约 250kB 与 5MB)。
从 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
我有一个使用 Fluid 模板的扩展,如下所示:
<div class="bgimg" style="background-image: url({f:uri.image(src:'uploads/tx_slider/{homeslider1.bgimage}', treatIdAsReference:1, maxWidth:'1600')})"></div>
效果很好 - 背景图像被正确引用 - 如果图像太大,则会调整图像大小。然而,我的客户开始上传 PNG 格式的图像,这导致网站输出中出现大文件 (>5MB)。
我没有找到任何选项来告诉 Fluid 图像助手在处理时将 PNG 图像转换为 JPG。我能做什么?
我的问题没有答案 - 但这是我的解决方法:
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;
查询 1: 删除图片缓存
查询 2: 创建一个批处理命令,将所有大于 500kB 的 PNG 图像转换为 JPG。我从我的 Typo3 安装的根目录执行这个批处理。必须安装 ImageMagick。
查询 3: 创建一个批处理命令来替换数据库中出现的所有这些 PNG 文件。我创建了数据库的备份,然后 运行 "fart.exe" 备份文件。 Fart.exe 是一个快速简单的文本替换工具。之后我导入了备份,清除了缓存,Typo3 使用了更小的 JPG 文件(大约 250kB 与 5MB)。
从 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