crossmedia/fourallportal

此包最新版本(5.0.11)没有可用的许可信息。

官方4ALLPORTAL包

安装次数: 5,891

依赖: 0

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 4

公开问题: 10

类型:typo3-cms-extension


README

Latest Stable Version Total Downloads Latest Unstable Version PHP Version Require

PIM连接器

方便从PIM导入到TYPO3记录的扩展。

要求

  1. Typo3版本12.4或更高
  2. Typo3在composer模式下
  3. PHP版本8.1或更高
  4. 已安装typo3/cms-scheduler包: composer require typo3/cms-scheduler

文档和指南

  1. 安装4ALLPORTAL插件

  2. 服务器组件

  3. 模块组件

  4. 映射类

  5. 类型转换器

  6. 复杂类型

  7. 动态域名模块

  8. 模型类文件

  9. 4ALLPORTAL扩展命令

  10. TCA定义文件

  11. 计划任务

  12. 旧文档(8.7)

版本

从Typo3 v8.x迁移到v12.x

请参阅此存储库中包含的迁移指南文档。

预期行为

假设您正确地组合了上述所有组件,运行导入CLI命令应导致以下事件链发生

  • 迭代每个 服务器
  • 迭代每个 服务器 的每个 模块
  • 使用 服务器模块 的凭据和配置查询PIM API
  • 收到并存储一系列事件
  • 逐个处理这些事件,执行 更新删除 操作(注意:由于临时创建发生,创建 被组合到 更新 中)
  • 如果成功,所有从PIM接收到的属性都会映射到实体属性上,并保存到数据库中。
  • 如果发生任何错误,则输出反馈以识别问题的来源。

开发者提示

以下提示可能有助于开发者在处理此逻辑时避免陷阱

  1. 广泛使用反射,并在扩展配置文件中注册,这两种资产类型都由TYPO3急切地缓存。包含这两个缓存的缓存组是 system,除非您处于 开发 上下文或系统缓存刷新已明确允许给您的用户。
  2. 尽管使用了 TypeConverts,但Extbase的验证逻辑不会被触发。这意味着您可能将值保存到数据库中,如果例如将其作为参数传递给控制器操作(除非您在控制器操作本身中禁用了验证),则可能导致加载实体失败。
  3. TYO3包含用于标准类型的 TypeConverters,可能无法覆盖。如果您遇到此问题,您可以从 TYPO3_CONF_VARS 数组中直接删除已注册的 TypeConverter,但这强烈不建议。如果给定的 TypeConverter 无法转换值,请考虑将值包装在您附加到实体的ValueObject中,然后创建将转换为此类型的 TypeConverter
  4. 在人力所能及的范围内,尽量遵循上述最佳实践,使您的实体尽可能接近PIM列结构。覆盖映射类或TypeConverter基类的任何逻辑可能会导致关键功能停止工作,例如可能阻止正确处理关系。您定制的越少,默认规则处理您的对象类型时出现问题的可能性就越小。