您必须将字段添加到 tt_content 表。为此,您可以使用 TCA。 TYPO3 文档中甚至有一个很好的示例,可以使用“无打印”复选框扩展 tt_content。
在 ext_tables.sql 文件中写入您的字段数据库规范:
CREATE TABLE tt_content (
tx_your_extension_no_border tinyint(4) DEFAULT '0' NOT NULL
);
然后,您需要在此路径中的扩展中添加另一个文件:
your_extension/Configuration/TCA/Overrides/tt_content.php
您可以在此处添加定义的字段:
$temporaryColumn = array(
'tx_your_extension_no_border' => array (
'exclude' => 0,
'label' => 'LLL:EXT:your_extension/Resources/Private/Language/locallang_db.xlf:tt_content.tx_your_extension_no_border',
'config' => array (
'type' => 'check',
)
)
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
'tt_content',
$temporaryColumn
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette(
'tt_content',
'visibility',
'tx_your_extension_no_border',
'after:linkToTop'
);
查看完整文档here。
一些解释:
函数“addTCAcolumns”将您的“临时列”注册到表中。
函数“addFieldsToPalette”将您的字段“tx_your_extension_no_border”添加到“调色板”中。 (你可以阅读Palettes here)。
第一个参数是表格。 (tt_content)
第二个参数是调色板的名称(这里是可见性)
第三个是字段名(tx_your_extension_no_border)
第四个是位置。您可以使用 after 和 before 将字段精确地放置在 XY 字段之前。
当然,您也可以添加自己的标签。
语法为:--div--<tab_name>,<fields>
流体:
添加字段后,它们可以在流体模板中访问,就像任何其他 tt_content 字段一样。您可以使用 if-s、布局、部分来使编辑器在处理您的内容元素时具有多样性。