如何解决带有 Flexform 的 Typo3 自定义元素:如何将值写入 tt_content 标头?
我正在使用 Flexforms 编写带有自定义内容元素的 Typo3 扩展。一切正常。 我只想像标准的 Typo3 内容元素一样向 tt_content 内部的“header”添加一个值。这样,如果我创建翻译,翻译内容的默认标题应显示为“我的标题(副本 1)”,而不仅仅是“(副本 1)”。此外,如果我尝试向元素添加锚链接,标题应该会显示出来。
例如,我的 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 标头?
非常感谢您的帮助。
解决方法
flexform(以及在里面声明的所有字段)是整个 tt_content 记录的一个字段。因此,无论您是访问 flexform 字段数据还是访问记录中任何常规字段的数据,都存在很大差异。你不能把它混为一谈。 (弹性表单中的字段 header
与记录的常规字段 header
无关)
为了让编辑器访问常规标题字段,您需要声明对 tt_content (CType
) 类型的访问权限。这是在 TCA 声明中完成的。
无论如何,您应该可以从 FLUID 访问 header
字段,因为您可以访问整个 tt_content 记录。通常作为 {data.fieldname}
,您可以使用调试器进行检查:<f:debug title="all fluid variables">{_all}</f:debug>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。