typo3-contentblocks/contentblocks-reg-api

此API提供了一个简单且可靠的方式来将内容块注册为独立的软件包。

v3.0.5 2023-02-18 10:10 UTC

This package is auto-updated.

Last update: 2024-09-15 01:03:04 UTC


README

CGL & unit tests Latest Stable Version Latest Unstable Version License

内容块注册API

⚠️ 注意:这是TYPO3 v11的API ⚠️

对于 TYPO3 v12,您可以在以下位置找到GitHub仓库或在TER

简介

此API提供了一个简单且可靠的方式来注册内容块(composer软件包)。遵循此README以快速了解入门概述。您可以在本存储库内部找到完整的文档

状态

beta - 主要概念已经建立,数据存储方法重构并测试。我们欢迎您的反馈。您可以在TYPO3 Slack的#cig-structuredcontent中联系我们 ❤️。

安装

在开发此API时

这将设置一个带有ddev和安装API扩展的TYPO3 v10。

要求

  • ddev
  1. 克隆此存储库
  2. 运行 ddev launch /typo3

TYPO3后端用户是 "admin",密码 "adminadmin"。

它包括本地composer存储库中的示例内容块,默认安装。

使用内容块

要求

  • TYPO3 v10+
  • 在TYPO3 v10中,后端预览需要启用基于Fluid的页面模块

使用内容块所需的API由2个composer软件包组成:一个API扩展和一个composer插件。

安装步骤

  1. composer req typo3-contentblocks/contentblocks-reg-api
  2. 激活扩展 contentblocks_reg_api
  3. 添加新数据库字段:(后端)维护分析数据库结构

获取/创建新的内容块

通过composer

这是一个包含内容块的示例仓库

composer req typo3-contentblocks/call-to-action:dev-master

对于在您的项目中使用自定义内容块,我们建议使用本地的 "路径" composer存储库

向导

有一个向导模块可以为您启动内容块。

在本地创建它们

您还可以手动将内容块目录添加到 typo3conf/contentBlocks

使用方法

内容块注册过程中发生的过程

检测内容块

内容块的检测取决于composer包类型。然后自定义composer安装器检索所有类型为 typo3-contentblock 的包。

验证

以下方面对于内容块成功验证是强制性的

  • 内容块根目录中必须存在名为 "ContentBlockIcon" 的图标,且类型为SVG/PNG/GIF
  • 必须存在文件 EditorInterface.yaml,并且是有效的
  • 后端语言文件 Default.xmlEditorInterface.xlf 必须存在于包的 src/Language 文件夹中。
  • 文件 EditorPreview.html 必须存在于包的 src 文件夹中。

位置

内容块存储在或软链接到 typo3conf/contentBlocks/

虚拟生成 TCA

TCA 是从实现内容块字段类型的类中虚拟生成的。

生成 FlexForm

基于在 EditorInterface.yaml 中定义的字段,生成内容块编辑界面的 FlexForm 并存储在 tt_content.content_block

注册内容块

  • 注册图标
  • 在 CTypes 列表中添加 TCA 条目,包括图标
  • 将内容块添加到 NewContentElementWizard
  • 添加用于渲染内容插件的 TypoScript
  • 为内容块添加 PageTS

扩展配置

出于某种原因,可能需要从您的自定义定义继承内容块。例如,如果您想从 lib.contentElement 继承内容块,在这种情况下,您可以按需扩展默认的 TypoScript。这是默认代码:

lib.contentBlock = FLUIDTEMPLATE
lib.contentBlock {
    layoutRootPaths {
        -5 = EXT:contentblocks_reg_api/Resources/Private/Layouts/
    }

    partialRootPaths {
        0 = EXT:contentblocks_reg_api/Resources/Private/Partials/
    }

    dataProcessing {
        10 = Typo3Contentblocks\ContentblocksRegApi\DataProcessing\CbProcessor
        20 = Typo3Contentblocks\ContentblocksRegApi\DataProcessing\FlexFormProcessor
    }
}

注意:如果您更改代码,您负责确保代码正常工作。注意数据处理。没有这些,您的内容块将无法工作。

您可以通过安装工具中的扩展设置注入您的代码。在那里,您可以设置默认的 TypoScript 到您的特定文件,如 EXT:sitepackage/Configuration/TypoScript/contentBlock.typoscript

扩展配置的第二件事是在外观部分启用框架调色板。如果您使用 fluid_styled_content 或 bootstrap_package,这可能是一个有用的功能。