b13 / bolt
Bolt - 简单的TYPO3集成基础
Requires
- php: ^7.2 || ^8.0
- typo3/cms-core: ^10.4 || ^11.0 || ^12.0
Requires (Dev)
- typo3/coding-standards: ^0.4.0
- typo3/tailor: ^1.1
Replaces
- cmsexperts/bolt: *
- typo3-ter/bolt: *
README
简介
此包是一个TYPO3扩展,可简化集成工作。
简单来说,此扩展允许在没有数据库驱动的TypoScript模板(sys_template)记录和没有PageTsConfig页面记录条目的情况下运行TYPO3实例,从而实现TypoScript和PageTsConfig的文件驱动(即非数据库驱动)部署。这是通过连接一个网站配置(那些.yaml
网站配置文件)与“网站扩展”以及使用一些简单的TYPO3核心事件或钩子来实现的。
背景
我们认为将网站以及所有自定义的Backend Layout、TypoScript、PageTS、Fluid模板等放在一个地方运行是最好的做法:在“网站扩展”中。我们用“site_”作为前缀,例如site_myproject
。此网站扩展是单个网站页面树配置的通用入口点。
"bolt"扩展提供了一个名为"sitePackage"的网站配置设置,将一个网站与此网站包/扩展相连接。这只是一个网站.yaml文件中的条目,可以手动添加到文件中,或在TYPO3“网站”后端模块中点击。
不使用数据库记录以文件形式提供“一切”在当前TYPO3中几乎是可能的,除了sys_template记录和PageTsConfig设置。因此,此扩展提供了一些钩子,用于从网站扩展提供的文件中查找连接的“网站扩展”的TypoScript“常量”和“设置”,以及PageTsConfig。这样可以避免这些数据库条目。
安装
-
通过composer(
composer require b13/bolt
)要求扩展,或使用扩展管理器从TER(扩展名“bolt”)加载它。 -
创建一个网站扩展,至少包含一个composer.json文件和一个ext_emconf.php文件,以
site_
为前缀。确保此扩展已加载。 -
手动编辑网站配置
.yaml
文件并添加sitePackage: '<my_extension_key>'
作为顶级键,或在后端“网站”模块中编辑网站配置,在下拉菜单中选择网站包/扩展并保存。 -
添加扩展文件
Configuration/TypoScript/constants.typoscript
。这是此网站在页面树中的主要TypoScript“常量/设置”入口点。通常应包含加载来自其他扩展的“静态包含”的@import
行,以及网站扩展本身提供的自己的TypoScript。此文件通过约定使用bolt扩展的钩子或事件自动加载。自TYPO3 v12以来,后端“模板分析器”反映了此类包含。 -
添加扩展文件
Configuration/TypoScript/setup.typoscript
。这是此网站在页面树中的主要TypoScript“设置”入口点。通常应包含加载来自其他扩展的“静态包含”的@import
行,以及网站扩展本身提供的自己的TypoScript。此文件通过约定使用bolt扩展的钩子或事件自动加载。自TYPO3 v12以来,后端“模板分析器”反映了此类包含。 -
(如有必要)添加扩展文件
Configuration/PageTs/main.tsconfig
。这是此网站在页面树中的主要PageTsConfig入口点。通常应包含进一步的@import
行。此文件通过约定使用bolt扩展的钩子或事件自动加载。 -
根据需要添加更多文件,如前端渲染模板、视图辅助类或TCA覆盖:将站点扩展作为您站点配置的单个入口点,提供所有站点特定设置!
禁用后端设置
扩展 bolt
添加默认的 PageTsConfig,禁止在后台添加新的 sys_template
记录,并在编辑页面记录时隐藏与 PageTsConfig
相关的字段。这些默认设置在 ext_tables.php
中添加,遵循我们的最佳实践,但在必要时可以重新编写。
许可证
本扩展的许可证为 GPL v2+,与 TYPO3 核心一致。请参阅 LICENSE 文件。
分享我们的专业知识
查找我们开发的其他 TYPO3 扩展,这些扩展有助于我们在客户项目中创造价值。作为我们工作方式的一部分,我们专注于测试和最佳实践,以确保我们所有代码的长期性能、可靠性和结果。