cmsexperts / bolt
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“常量/设置”主入口点。通常应包含加载来自其他扩展的进一步“静态包含”以及站点扩展本身提供的自身TypoScript的@import
行。此文件通过约定使用bolt扩展的钩子或事件自动加载。自TYPO3 v12以来,后端“模板分析器”反映了此类包含。 -
添加扩展文件
Configuration/TypoScript/setup.typoscript
。这是页面树中此站点的TypoScript“设置”主入口点。通常应包含加载来自其他扩展的进一步“静态包含”以及站点扩展本身提供的自身TypoScript的@import
行。此文件通过约定使用bolt扩展的钩子或事件自动加载。自TYPO3 v12以来,后端“模板分析器”反映了此类包含。 -
如果需要,添加扩展文件
Configuration/PageTs/main.tsconfig
。这是页面树中此站点的PageTsConfig主入口点。通常应包含进一步的@import
行。此文件通过约定使用bolt扩展的钩子或事件自动加载。 -
根据需要添加更多文件,如前端渲染模板、视图帮助类或TCA覆盖:使网站扩展成为您网站配置的单一点入口,提供所有网站特定设置!
禁用后端设置
扩展bolt
添加默认的PageTsConfig,不允许在后台添加新的sys_template
记录,并且在编辑页面记录时隐藏与PageTsConfig
相关的字段。这些默认设置在ext_tables.php
中添加,遵循我们的最佳实践,但如果有真正需要的话,可以重新编写。
许可协议
本扩展的许可协议为GPL v2+,与TYPO3核心相同。请参阅LICENSE文件。
分享我们的专业知识
查看我们开发的其他TYPO3扩展,这些扩展有助于我们在客户项目中提供价值。作为我们工作方式的一部分,我们专注于测试和最佳实践,以确保所有代码的长期性能、可靠性和结果。