josefglatz/cropvariantsbuilder

简化TYPO3集成商/开发者为cropVariants编写代码

安装次数: 17,141

依赖: 1

建议者: 0

安全: 0

星标: 8

关注者: 2

分支: 5

开放问题: 4

类型:typo3-cms-extension

2.0.0 2023-09-05 10:46 UTC

This package is auto-updated.

Last update: 2024-09-05 12:50:40 UTC


README

为TYPO3集成商/开发者简化编写cropVariants的TYPO3扩展

→ → → 目录
  1. 关于
    1. 过去
    2. 现在
    3. 未来
  2. 安装
    1. 使用Composer进行安装
    2. 作为扩展从TYPO3扩展存储库(TER)安装
  3. 配置
    1. 存储通用配置文件的扩展名
    2. 使用自己的CropVariants.yaml文件示例
    3. 在使用\TYPO3\CMS\Core\Configuration\Loader\YamlFileLoader->load()导入功能的同时使用自己的CropVariants.yaml文件示例
  4. 详细手册和更多示例
    1. 处理TYPO3中的cropVariants
      1. 集中配置 AspectRatio、Cover-/CropArea 预设和 CropVariant 定义
      2. 处理TYPO3中的cropVariants: 简化表配置数组中的cropVariants配置
    2. 默认值和预设
    3. CropVariantsBuilder
      1. 示例 1: 设置全局默认cropVariants配置
      2. 示例 2: 为特定表中的特定字段设置自定义cropVariants(pages.tx_my_nice_site_extension_nav_image)
      3. 示例 3: 为tx_news_domain_model_news.fal_media设置自定义cropVariants
      4. 示例 4: 为CType tx_my_nice_site_extension_custom_ce1的code>tt_content.image设置自定义cropVariants
    4. cropVariant标签的翻译逻辑

关于

本扩展集中配置以下内容:

  • 默认的宽高比,
  • 在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爱好者致敬!

http://josefglatz.at/

支持

非常感谢我的雇主supseven.at赞助工作时间。