TYPO3 CMS自动化问题

时间:2018-04-13 05:35:07

标签: git automation composer-php typo3 ddev

我们正在使用gitcomposer,目前正在为自动TYPO3 CMS部署实施DDEV。但是有些手动流程我不知道如何实现自动化?

  1. 如何自动添加或删除"包含静态(来自扩展名)"?目前,这是主TS模板的“包含”选项卡下的手动流程。 / LI>
  2. 我们如何处理分机的激活/停用? PackageStates.php是TYPO3跟踪安装的扩展程序的位置,因此应PackageStates.php跟踪git或者是否应安装extsysext文件夹中存在的所有扩展程序,并完全删除那些我们不想要的Helmut Hummel was suggesting he's already doing
  3. 如何自动化每个扩展程序的自定义配置设置,这些设置通常是通过转到TYPO3 CMS后端中的Extensions然后选择特定扩展程序来设置的?

3 个答案:

答案 0 :(得分:2)

以下是一些建议:

  1. 您只需通过INCLUDE_TYPOSCRIPT将所需的内容/设置文件添加到您的网站扩展程序,即可避免通过TYPO3后端的往返。它不是自动化的,但可确保原子更改并轻松移除而无需单击。当然,您需要在后端指向您的站点扩展名的模板记录的容器和设置字段中添加一个INCLUDE_TYPOSCRIPT
  2. 我强烈推荐Helmut在此处建立的方法:只需要require您真正需要的包。如果您将TYPO3 Console命令install:generatepackagestates添加为post-autoload-dump script,则可以自动更新PackageStates.php。如果您在部署中执行此步骤,则大多数情况下您甚至不需要再将此文件添加到存储库中。
  3. 这些配置设置最终在$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']中作为序列化字符串,因此您可以根据需要进行设置,并在必要时对现有配置进行反序列化。您可以在AdditionalConfiguration.php中执行此操作,以保持代码更改配置。请注意$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']deprecated with TYPO3v9,并替换为普通数组和适当的API。

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

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