itzbund / gsb-core
GSB 核心库。这是政府网站构建(GSB)11的一部分。GSB 11 是联邦内政部及家园部(BMI)的联邦服务整合措施(DKB)的一部分,由联邦信息技术中心(ITZBund)负责实施。
Requires
- php: ^8.1
- b13/container: ^2.3
- b13/permission-sets: ^0.1
- ichhabrecht/content-defender: ^3.4.0
- pixelant/interest: ^2.1.2
- symfony/serializer-pack: ^1.3
- typo3/cms-adminpanel: ^12.4
- typo3/cms-backend: ^12.4
- typo3/cms-belog: ^12.4
- typo3/cms-beuser: ^12.4
- typo3/cms-core: 12.4.16 || 12.4.19 || 12.4.20
- typo3/cms-dashboard: ^12.4
- typo3/cms-extbase: ^12.4
- typo3/cms-extensionmanager: ^12.4
- typo3/cms-filelist: ^12.4
- typo3/cms-filemetadata: ^12.4
- typo3/cms-fluid: ^12.4
- typo3/cms-fluid-styled-content: ^12.4
- typo3/cms-form: ^12.4
- typo3/cms-frontend: ^12.4
- typo3/cms-impexp: ^12.4
- typo3/cms-info: ^12.4
- typo3/cms-install: ^12.4
- typo3/cms-linkvalidator: ^12.4
- typo3/cms-lowlevel: ^12.4
- typo3/cms-opendocs: ^12.4
- typo3/cms-recycler: ^12.4
- typo3/cms-redirects: ^12.4
- typo3/cms-reports: ^12.4
- typo3/cms-rte-ckeditor: ^12.4
- typo3/cms-scheduler: ^12.4
- typo3/cms-seo: ^12.4
- typo3/cms-setup: ^12.4
- typo3/cms-sys-note: ^12.4
- typo3/cms-t3editor: ^12.4
- typo3/cms-tstemplate: ^12.4
- typo3/cms-viewpage: ^12.4
- typo3/cms-workspaces: ^12.4
Requires (Dev)
- captainhook/captainhook-phar: ^5.21
- codeception/codeception: *
- codeception/module-asserts: *
- codeception/module-db: *
- doctrine/dbal: ^3.3
- ergebnis/composer-normalize: ^2.28
- friendsofphp/php-cs-fixer: ^3.14
- helmich/typo3-typoscript-lint: 3.1.0 || 3.2.0 || 3.2.1
- itzbund/captainhook-hooks: ^1.0
- michielroos/typo3scan: ^1.7
- mockery/mockery: ^1.6
- php-coveralls/php-coveralls: ^2.5
- phpmd/phpmd: ^2.13
- phpstan/extension-installer: ^1.2
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpstan/phpstan-strict-rules: ^1.5
- phpunit/phpunit: ^10.0
- ramsey/conventional-commits: ^1.5
- saschaegerer/phpstan-typo3: ^1.8
- sbuerk/typo3-cmscomposerinstallers-testingframework-bridge: ^0.1.2
- seld/jsonlint: ^1.9
- squizlabs/php_codesniffer: ^3.7
- ssch/typo3-rector: ^1.1
- symfony/yaml: ^6.1
- typo3/coding-standards: ^0.8
- typo3/testing-framework: ^8.1
Suggests
Conflicts
- typo3/cms-core: 12.4.17 || 12.4.18
- dev-main / 2.x-dev
- v2.8.0-rc.6
- v2.8.0-rc.5
- v2.8.0-rc.4
- v2.8.0-rc.3
- v2.8.0-rc.2
- v2.8.0-rc.1
- v2.7.0
- v2.7.0-rc.11
- v2.7.0-rc.10
- v2.7.0-rc.9
- v2.7.0-rc.8
- v2.7.0-rc.7
- v2.7.0-rc.6
- v2.7.0-rc.5
- v2.7.0-rc.4
- v2.7.0-rc.3
- v2.7.0-rc.2
- v2.7.0-rc.1
- v2.6.0
- v2.6.0-rc.17
- v2.6.0-rc.16
- v2.6.0-rc.15
- v2.6.0-rc.14
- v2.6.0-rc.13
- v2.6.0-rc.12
- v2.6.0-rc.11
- v2.6.0-rc.10
- v2.6.0-rc.9
- v2.6.0-rc.8
- v2.6.0-rc.7
- v2.6.0-rc.6
- v2.6.0-rc.5
- v2.6.0-rc.4
- v2.6.0-rc.3
- v2.6.0-rc.2
- v2.6.0-rc.1
- v2.5.0
- v2.5.0-rc.8
- v2.5.0-rc.7
- v2.5.0-rc.6
- v2.5.0-rc.5
- v2.5.0-rc.4
- v2.5.0-rc.3
- v2.5.0-rc.2
- v2.5.0-rc.1
- v2.4.1
- v2.4.1-rc.1
- v2.4.0
- v2.4.0-rc.9
- v2.4.0-rc.8
- v2.4.0-rc.7
- v2.4.0-rc.6
- v2.4.0-rc.5
- v2.4.0-rc.4
- v2.4.0-rc.3
- v2.4.0-rc.2
- v2.4.0-rc.1
- v2.3.1-rc.3
- v2.3.1-rc.2
- v2.3.1-rc.1
- v2.3.0
- v2.3.0-rc.14
- v2.3.0-rc.13
- v2.3.0-rc.12
- v2.3.0-rc.11
- v2.3.0-rc.10
- v2.3.0-rc.9
- v2.3.0-rc.8
- v2.3.0-rc.7
- v2.3.0-rc.6
- v2.3.0-rc.5
- v2.3.0-rc.4
- v2.3.0-rc.3
- v2.3.0-rc.2
- v2.3.0-rc.1
- v2.2.1-rc.2
- v2.2.1-rc.1
- v2.2.0
- v2.2.0-rc.10
- v2.2.0-rc.9
- v2.2.0-rc.8
- v2.2.0-rc.7
- v2.2.0-rc.6
- v2.2.0-rc.5
- v2.2.0-rc.4
- v2.2.0-rc.3
- v2.2.0-rc.2
- v2.2.0-rc.1
- v2.1.0
- v2.1.0-rc.23
- v2.1.0-rc.22
- v2.1.0-rc.21
- v2.1.0-rc.20
- v2.1.0-rc.19
- v2.1.0-rc.18
- v2.1.0-rc.17
- v2.1.0-rc.16
- v2.1.0-rc.15
- v2.1.0-rc.14
- v2.1.0-rc.13
- v2.1.0-rc.12
- v2.1.0-rc.11
- v2.1.0-rc.10
- v2.1.0-rc.9
- v2.1.0-rc.8
- v2.1.0-rc.7
- v2.1.0-rc.6
- v2.1.0-rc.5
- v2.1.0-rc.4
- v2.1.0-rc.3
- v2.1.0-rc.2
- v2.1.0-rc.1
- v2.0.1-rc.1
- v2.0.0
- v1.32.0
- v1.31.0
- v1.30.0
- v1.29.0
- v1.28.0
- v1.27.0
- v1.26.0
- v1.25.0
- v1.24.0
- v1.23.0
- v1.22.0
- v1.21.0
- v1.20.0
- v1.19.0
- v1.18.0
- v1.17.0
- v1.16.0
- v1.15.0
- v1.14.0
- v1.13.0
- v1.12.0
- v1.11.0
- v1.10.1
- v1.10.0
- v1.9.1
- v1.9.0
- v1.8.0
- v1.7.0
- v1.6.0
- v1.5.0
- v1.4.0
- v1.3.0
- dev-release
This package is auto-updated.
Last update: 2024-09-27 14:36:06 UTC
README
GSB 11 扩展 gsb_core
关于
gsb_core 扩展是多个 GSB 11 扩展的核心。该扩展配置 TYPO3,并通过选择扩展来扩展它,以提供更结构化和吸引人的内容,同时优化可访问性。
安装
安装此扩展的最佳方法是首先使用 GSB Sitepackage Kickstarter 扩展。
不使用 GSB Sitepackage Kickstarter 的快速安装
在基于 composer 的 TYPO3 安装中,您可以通过 composer 安装扩展 EXT:gsb_core
composer config -g gitlab-domains gitlab.opencode.de && \
composer config -g repositories.gsb-core vcs https://gitlab.opencode.de/bmi/government-site-builder-11/extensions/gsb_core.git
composer require itzbund/gsb-core
在版本 11.5 以上的 TYPO3 安装中,扩展将自动安装。您不需要手动激活它。
使用
无需操作。
gsb_core
中的功能标志
本文档解释了如何使用功能标志。功能标志允许您在安装中启用或禁用特定功能。这尤其重要,以避免使用未通过审批流程的功能。
配置
功能标志在 ddev 机器上的 .env
或 local-dev/.ddev/docker-compose.environment.yaml
文件中配置。要添加功能标志,使用以下语法
# Feature flag for the specific tickets. Set them to true to activate the features.
- TYPO3__SYS__features__ITZBUNDPHP-2877=%const(bool:true)%
在此示例中,功能标志 ITZBUNDPHP-2877
被设置为 true
。要禁用功能,将值更改为 false
或删除设置。
功能标志真值表
此表说明了功能标志在不同状态下的行为。
功能标志状态 | 评估值 | 描述 |
---|---|---|
featureFlag = true | true | 功能被明确启用。 |
featureFlag = false | false | 功能被明确禁用。 |
featureFlag = '' | false | 空值被视为 false 。 |
featureFlag 不存在 | false | 不存在的标志默认为 false 。 |
gsb_core
的当前功能标志
功能标志 | 描述 |
---|---|
brandingBackendLogin | 默认将品牌应用于登录屏幕 |
ITZBUNDPHP-2877 | 在网站模块中启用通用颜色管理。 这设置了 bootstrap 颜色 --bs-primary --bs-secondary --bs-tertiary --bs-quaternary |
ITZBUNDPHP-1615 | 用 GSB11 的页脚文本替换 TYPO3 核心默认电子邮件模板页脚文本 |
ITZBUNDPHP-2328 | 简化处理链接页面在阶段和单预告片 CE 中的操作。从目标页面获取类别和日期值,并添加覆盖/隐藏这些值的可能性 |
ITZBUNDPHP-3327 | 在 TYPO3 后端启用/公开 EXT:dpn_glossary |
ITZBUNDPHP-3435 | 启用通用视频渲染器以支持外部视频源 |
在 PHP 代码中的使用
要在 PHP 代码中使用功能标志,您可以在全局 TYPO3 配置中检查标志的值。以下是一个示例
if (GeneralUtility::makeInstance(Features::class)->isFeatureEnabled('ITZBUNDPHP-2877')) {
// Only if the feature flag is set to true the feature is activated
// Feature-specific code goes here
}
在此示例中,如果功能标志 ITZBUNDPHP-2877
设置为 true
,则将执行特定功能的相关代码。
在 Fluid 模板中的使用
您还可以使用自定义 ViewHelper 在 Fluid 模板中使用功能标志。首先,确保包含 ViewHelper 的命名空间
{namespace gsb=ITZBund\GsbCore\ViewHelpers}
然后,使用 featureFlag
ViewHelper 根据功能标志有条件地渲染内容
<f:if condition="{gsb:featureFlag(featureKey: 'ITZBUNDPHP-2877')}">
<!-- Feature-specific content goes here -->
</f:if>
在这个例子中,如果功能标志 ITZBUNDPHP-2877
没有设置为 false
,则 <f:if>
标签内的内容将始终被渲染。
网站包
在 EXT:gsb_core
中的网站包类似于 TYPO3 13+ 中的集合。
如果包符合以下标准之一,则在网站配置中可用:
- 其扩展密钥包含
gsb_core
或site
且不包含impexp
- 它在其
composer.json
中包含以下配置
{
"extra": {
"itzbund/gsb-core": {
"isSitePackage": true
}
}
}
如果某个包被选为网站包,则其 typoscript 配置(Configuration/TypoScript/{constants|setttings}.typoscript
)将作为根模板加载,这允许零配置部署。
进一步阅读
有关 TYPO3 中功能标志的更多信息,请参阅 TYPO3 功能标志文档。
特殊端点
由于基础设施原因,此扩展在 /api/version 提供了一个版本端点,它返回一个具有以下结构的 json 对象
{
"versions": {
"gsb": [string|null],
"container": [string|null],
"helmChart": [string|null],
"TYPO3": "[string|null]",
"packageCacheHash": "[string|null]"
}
}
贡献
与 TYPO3 一样,我们鼓励您通过提交更改来加入项目。GSB 11 的发展主要发生在 GSB 11 TYPO3 扩展存储库中。
要开始,请查看我们的 详细的贡献说明。