itzbund/gsb-core

GSB 核心库。这是政府网站构建(GSB)11的一部分。GSB 11 是联邦内政部及家园部(BMI)的联邦服务整合措施(DKB)的一部分,由联邦信息技术中心(ITZBund)负责实施。

安装: 50

依赖关系: 1

建议者: 1

安全: 0

类型:typo3-cms-extension

v2.8.0-rc.6 2024-09-25 08:44 UTC

This package is auto-updated.

Last update: 2024-09-27 14:36:06 UTC


README

TYPO3 12

GSB 11 扩展 gsb_core

关于

gsb_core 扩展是多个 GSB 11 扩展的核心。该扩展配置 TYPO3,并通过选择扩展来扩展它,以提供更结构化和吸引人的内容,同时优化可访问性。

了解更多关于 GSB 11 的信息.

安装

安装此扩展的最佳方法是首先使用 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 机器上的 .envlocal-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 = truetrue功能被明确启用。
featureFlag = falsefalse功能被明确禁用。
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_coresite 且不包含 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 扩展存储库中。

要开始,请查看我们的 详细的贡献说明