2

我们正在使用git,composer并且目前正在实施DDEV自动化 TYPO3 CMS 部署。但是有一些我不知道如何自动化的手动过程?

  1. 我们如何自动添加或删除“包含静态(来自扩展)”?目前,这是主 TS 模板的 Includes 选项卡下的手动过程。
  2. 我们如何处理扩展的激活/停用? PackageStates.phpTYPO3 在哪里跟踪安装了哪些扩展,所以应该PackageStates.php跟踪或者应该安装和文件夹git中存在的所有扩展,并完全删除那些我们不想要的扩展,因为Helmut Hummel 暗示他已经在做extsysext
  3. 我们如何自动化每个扩展的自定义配置设置,这些设置通常通过进入ExtensionsTYPO3 CMS 后端然后选择特定扩展来设置?
4

3 回答 3

2

以下是一些建议:

  1. 您至少可以避免通过 TYPO3 后端的往返,只需通过INCLUDE_TYPOSCRIPT. 它不是自动化的,但可以确保原子更改和轻松删除,而无需单击周围。当然,您需要INCLUDE_TYPOSCRIPT在后端模板记录的 contants 和 setup 字段中有一个指向您的站点扩展。
  2. 我强烈推荐 Helmut 在这里建立的方法:只require需要你真正需要的包。如果将TYPO3 控制台命令添加install:generatepackagestatespost-autoload-dump 脚本,则可以PackageStates.php自动更新。大多数情况下,如果您在部署时也执行此步骤,您甚至不需要再将此文件添加到您的存储库中。
  3. 这些配置设置最终$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']以序列化字符串的形式出现,因此您可以根据需要简单地设置它,如有必要,在之前取消序列化现有配置。您可以在您的代码中执行此操作AdditionalConfiguration.php以保留配置更改的代码。请注意,TYPO3v9 已弃用它$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'],取而代之的是普通数组和适当的 API。
于 2018-04-13T06:44:14.767 回答
1

关于 1.) 你可以使用钩子`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['Core/TypoScript/TemplateService']['runThroughTemplatesPostProcessing']。例如,看看https://github.com/CMSExperts/bolt/blob/master/Classes/TypoScript/TemplateService.php

于 2018-04-13T08:38:25.020 回答
1
  1. 要“包含静态”,您始终必须在数据库中执行更改。添加的模板保存在 sys_template 表中。因此,您可以创建一个 sh 脚本以在每次部署时仅导入此表。

  2. 如果您不使用 composer 安装扩展,您可以在 git 中添加 PackageStates。当我不使用作曲家进行扩展时,我就是这样做的。

  3. 请检查此链接https://docs.typo3.org/typo3cms/CoreApiReference/ExtensionArchitecture/ConfigurationOptions/Index.html

于 2018-04-13T06:14:06.140 回答