如何在不裁剪或处理的情况下输出 og:image (sysext:seo)?
How to output og:image (sysext:seo) without cropping or processing?
如果您在页面属性中存储 Open Graph 图片,它会自动裁剪为 1.91 / 1 的比例,即使您上传的图片正好符合这些比例,它仍会被重新处理(并略微修剪) ).
我已经设法让裁剪工具接受默认的自由比例:
/ext/sitepackage/Configuration/TCA/Overrides/pages.php
<?php
defined('TYPO3') or die();
$GLOBALS['TCA']['pages']['columns']['og_image']['config']['overrideChildTca']['columns']['crop']['config'] = [
'cropVariants' => [
'social' => [
'title' => 'Social media',
'cropArea' => [
'x' => '0.0',
'y' => '0.0',
'width' => '1.0',
'height' => '1.0'
],
'allowedAspectRatios' => [
'NaN' => [
'title' => 'Free',
'value' => 0.0
],
],
],
],
];
这会在数据库中创建以下条目(sys_file_reference,列裁剪):
{"social":{"cropArea":{"x":0,"y":0,"width":1,"height":1},"selectedRatio":"NaN","focusArea":null}}
我觉得不错。
不过,TYPO3 并没有输出我已经优化过的原始图像 (fileadmin/media/1200x630.png),而是输出图像处理器生成的图像 (/fileadmin/processed/7/ a/csm_….png ,与原始像素尺寸相同)。作为测试,我还手动从数据库中删除了裁剪条目,但仍然没有输出原始图像的 URL。
我怎样才能避免这种情况?
附录:我创建了一个 bug report
始终处理社交图像(开放图和推特)。参见 https://github.com/TYPO3/typo3/blob/main/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php#L68。
您可以为 og:image 创建自己的 MetaTagManager,示例如下:https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/MetaTagApi/Index.html#creating-your-own-metatagmanager.
不知道这是否是一个好方法,因为关于开放图形图像的尺寸有特殊规则,请参阅 https://simplified.co/blog/design-hacks/open-graph-image-everything-you-need-to-know/
如果您在页面属性中存储 Open Graph 图片,它会自动裁剪为 1.91 / 1 的比例,即使您上传的图片正好符合这些比例,它仍会被重新处理(并略微修剪) ).
我已经设法让裁剪工具接受默认的自由比例:
/ext/sitepackage/Configuration/TCA/Overrides/pages.php
<?php
defined('TYPO3') or die();
$GLOBALS['TCA']['pages']['columns']['og_image']['config']['overrideChildTca']['columns']['crop']['config'] = [
'cropVariants' => [
'social' => [
'title' => 'Social media',
'cropArea' => [
'x' => '0.0',
'y' => '0.0',
'width' => '1.0',
'height' => '1.0'
],
'allowedAspectRatios' => [
'NaN' => [
'title' => 'Free',
'value' => 0.0
],
],
],
],
];
这会在数据库中创建以下条目(sys_file_reference,列裁剪):
{"social":{"cropArea":{"x":0,"y":0,"width":1,"height":1},"selectedRatio":"NaN","focusArea":null}}
我觉得不错。
不过,TYPO3 并没有输出我已经优化过的原始图像 (fileadmin/media/1200x630.png),而是输出图像处理器生成的图像 (/fileadmin/processed/7/ a/csm_….png ,与原始像素尺寸相同)。作为测试,我还手动从数据库中删除了裁剪条目,但仍然没有输出原始图像的 URL。
我怎样才能避免这种情况?
附录:我创建了一个 bug report
始终处理社交图像(开放图和推特)。参见 https://github.com/TYPO3/typo3/blob/main/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php#L68。
您可以为 og:image 创建自己的 MetaTagManager,示例如下:https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/MetaTagApi/Index.html#creating-your-own-metatagmanager.
不知道这是否是一个好方法,因为关于开放图形图像的尺寸有特殊规则,请参阅 https://simplified.co/blog/design-hacks/open-graph-image-everything-you-need-to-know/