josefglatz / cropvariantsbuilder
简化TYPO3集成商/开发者为cropVariants编写代码
Requires
- php: >=8.0.0
- typo3/cms-core: ^11.5 || ^12.4
Replaces
- typo3-ter/cropvariantsbuilder: 2.0.0
README
为TYPO3集成商/开发者简化编写cropVariants的TYPO3扩展
→ → → 目录
关于
本扩展集中配置以下内容:
- 默认的宽高比,
- 在TYPO3实例中使用的宽高比,
- 在TYPO3实例中使用的封面区域,
- 在TYPO3实例中使用的裁剪区域,
- 在TYPO3实例中使用的焦点区域。
本扩展使得在您的“站点包”扩展中配置TCA(EXT:your_ext/Configuration/TCA/**/*.php
)修改中的cropVariants变得容易。
扩展完全依赖于TYPO3核心功能,可以被视为TYPO3集成商的时间节省者。
过去
最初公开版本是https://github.com/josefglatz/TYPO3-Distribution
的一部分。2019年的需求增长,因此我想出了一个新的想法来支持在TYPO3 9.5 LTS中引入的TYPO3站点配置。
现在
本扩展不支持TYPO3站点配置。基于这一事实,在多树环境中无法区分多个站点。
除此之外,我想使https://github.com/josefglatz/TYPO3-Distribution
更加灵活和清晰。感兴趣的群体建议我将cropvariantsbuilder功能提取到一个独立的扩展中。在将功能提取到这个扩展的时候,扩展正式支持TYPO3 8.7 LTS和9.5 LTS。所以,这就是之前在Josef Glatz的EXT:theme中熟知的独立cropvariantsbuilder。
未来
本扩展的功能将保持不变。将不会有直接的继任者,您可以自动更新和迁移(从我的当前视角来看)。当新扩展公开可用时,我会在这里链接它。
关于未来,我的计划是通过TYPO3站点配置和FormDataProvider完全重新添加功能。这样,就可以进行针对特定站点的配置。甚至配置可以通过除了配置好的站点现有的YAML文件之外的YAML文件完全完成。
如果真的有必要,我可能会添加EXT:cropvariantsbuilder
的功能,以便实现全局TCA修改(尚未指定是否需要编写YAML或已知的PHP语法)。
安装
使用Composer进行安装
推荐通过使用Composer来安装扩展。在基于Composer的TYPO3项目根目录下,只需执行composer require josefglatz/cropvariantsbuilder
。
作为扩展从TYPO3扩展存储库(TER)安装
使用TYPO3 CMS扩展管理模块或直接通过typo3.org下载并安装扩展。
版本矩阵
开发
当前开发正在进行主分支中!
如果您想测试当前的开发状态,可以使用composer require josefglatz/cropvariantsbuilder:dev-main
。
配置
存储通用配置文件的扩展名
以下选项必须在TYPO3扩展配置中进行设置
configurationProviderExtension = my_nice_site_extension
因此,如果您将配置文件放在
EXT:my_nice_site_extension/Configuration/ImageManipulation/CropVariants.yaml
中,您必须将值设置为my_nice_site_extension
。
configurationProviderLocallangFilename = locallang
因此,如果您将翻译放在
EXT:my_nice_site_extension/Resources/Private/Language/locallang.xlf
中,您必须将值设置为locallang
。有关支持的翻译逻辑的更多信息。
以下示例显示了生成的PHP配置部分
// TYPO3 >= 9.5 LTS: $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['cropvariantsbuilder'] = [ 'configurationProviderExtension' => 'my_nice_site_extension', 'configurationProviderLocallangFilename' => 'locallang', ]; // TYPO3 =< 8.7 LTS $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['cropvariantsbuilder'] = serialize([ 'configurationProviderExtension' => 'my_nice_site_extension', 'configurationProviderLocallangFilename' => 'locallang', ]);
使用自己的CropVariants.yaml文件示例
只需将文件EXT:cropvariantsbuilder/Configuration/ImageManipulation/CropVariants.yaml
克隆到EXT:my_nice_site_extension/Configuration/ImageManipulation/CropVariants.yaml
,并按需修改它。采用这种方法,您不需要依赖于默认的CropVariants.yaml文件EXT:cropvariantsbuilder
。
使用\TYPO3\CMS\Core\Configuration\Loader\YamlFileLoader->load()
导入功能使用自己的CropVariants.yaml文件的示例
以下示例代表文件
EXT:my_nice_site_extension/Configuration/ImageManipulation/CropVariants.yaml
的内容。
imageManipulation:
cropVariants:
defaults:
aspectRatios:
"1.91:1":
title: "This is the new title for an existing aspectRatio within EXT:cropvariantsbuilder"
"123:321":
title: "Completely new introduced aspect ratio"
value: 123 / 321
defaultCropVariantsConfiguration:
default:
aspectRatios:
- "3:2"
- "2:3"
- "123:321"
- "NaN"
imports:
-
resource: 'EXT:cropvariantsbuilder/Configuration/ImageManipulation/CropVariants.yaml'
您可以在修改默认的CropVariants.yaml文件以满足上述示例中特定项目的需求的同时依赖EXT:cropvariantsbuilder
的默认CropVariants.yaml文件。当然,您可以导入任何其他YAML文件。如果生成的YAML文件包括每个必要部分的配置,则不需要依赖默认的CropVariants.yaml。
详细手册和更多示例
向所有TYPO3爱好者致敬!
由
支持
非常感谢我的雇主supseven.at赞助工作时间。