Typo3 带有 Flexform 的自定义元素:如何将值写入 tt_content header?

Typo3 Custom Element with Flexform: How do I write value to tt_content header?

我正在使用 Flexforms 编写带有自定义内容元素的 Typo3 扩展。一切正常。 我只想像标准 Typo3 内容元素一样向 tt_content 内的“header”添加一个值。这样,如果我创建翻译,翻译内容的默认 header 应显示为“我的标题(副本 1)”,而不仅仅是“(副本 1)”。此外,如果我尝试向元素添加锚点 link,header 应该会出现。

例如,我的 flexform 是这样开始的:

<T3DataStructure>
  <sheets>
    <sGeneral>
    <ROOT>              
      <TCEforms>
        <sheetTitle>My Element</sheetTitle>
      </TCEforms>               
      <type>array</type>
      <el>
        <headline>
          <TCEforms>
            <label>Text</label>
            <config>
               <type>input</type>                                               
            </config>
          </TCEforms>
        </headline>
        ...

我在 HTML 模板中访问上述标题值,如下所示:{flexform.sGeneral.headline}

效果很好。我怎样才能做到这个值也被写入 tt_content header?

非常感谢您的帮助。

flexform(以及其中声明的所有字段)是整个 tt_content 记录的一个字段。因此,无论您是访问 flexform 字段数据还是来自记录中任何常规字段的数据,都有很大的不同。你不能把它搞混。 (您的 flexform 中的字段 header 与记录的常规字段 header 无关)

要授予编辑者访问常规 header 字段的权限,您需要为您的类型 tt_content (CType) 声明访问权限。这是在 TCA-declaration.

中完成的

无论如何,您应该可以从 FLUID 访问 header 字段,因为您可以访问整个 tt_content 记录。通常为 {data.fieldname},您可以使用调试器进行检查:
<f:debug title="all fluid variables">{_all}</f:debug>