包含 tt_content 个子元素的自定义内容元素的后端布局和拖放 |错字3 11
backend layout and drag&drop for custom content elements holding tt_content children | TYPO3 11
我在 TYPO3 11 核心上创建了一个自定义内容元素 Box
,它有一个内联类型的字段用于 tt_content 的更多子元素。目前为止前端工作正常,但后端视图让我头疼。
在父元素上创建子元素 Box
,它们被指定为 colPos 0 并出现在我的后端布局的那一列中。
我想要实现的是在我的 Box
中有一个后端布局,并且能够自由拖放 tt_content 元素进出,如下所示:
我遵循的文档似乎不符合我的愿望,我想在没有任何扩展的情况下解决这个问题。
这是我的 TCA 和 SQL 到目前为止
$col = [
'content_relation' => [
'exclude' => true,
'label' => 'content',
'config' => [
'type' => 'inline',
'allowed' => 'tt_content',
'foreign_table' => 'tt_content',
'foreign_field' => 'content_relation',
'foreign_sortby' => 'sorting',
'minitems' => 0,
'maxitems' => 99,
'appearance' => [
'collapseAll' => true,
'expandSingle' => true,
'levelLinksPosition' => 'bottom',
'useSortable' => true,
'showPossibleLocalizationRecords' => true,
'showRemovedLocalizationRecords' => true,
'showAllLocalizationLink' => true,
'showSynchronizationLink' => true,
'enabledControls' => [
'info' => TRUE,
'new' => TRUE,
'dragdrop' => TRUE,
'sort' => TRUE,
'hide' => TRUE,
'delete' => TRUE,
'localize' => TRUE,
],
],
],
],
];
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tt_content', 'content_relation');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', $col);
$GLOBALS['TCA']['tt_content']['types']['dg_template_box'] = [
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;;general,
header;Internal title (not displayed),
content_relation;Elemente,
',
];
–
CREATE TABLE tt_content (
content_relation int(11) unsigned DEFAULT '0',
);
我假设您需要更改 content_relation
字段的 colPos
。假设 Inhalt
显示来自 colPos
0 的 tt_content
table 的内容元素。当创建新的 content_relation
记录时,它将(逻辑上)显示在您的正常(Inhalt
)后端布局,因为它表示 colPos
等于 0.
的记录
最简单的方法是使用<a href="https://github.com/b13/container" rel="nofollow noreferrer">b13/container</a>
package/extension。
您可以简单地创建一个新的自定义“盒子”-包含所有自定义 TCA 配置的容器 - 最好的部分是扩展将自行处理子 tt_content
记录。 :)
有关如何使用 b13/container
扩展的示例,请查看此处 <a href="https://github.com/b13/container-example" rel="nofollow noreferrer">b13/container-example</a>
.
我在 TYPO3 11 核心上创建了一个自定义内容元素 Box
,它有一个内联类型的字段用于 tt_content 的更多子元素。目前为止前端工作正常,但后端视图让我头疼。
在父元素上创建子元素 Box
,它们被指定为 colPos 0 并出现在我的后端布局的那一列中。
我想要实现的是在我的 Box
中有一个后端布局,并且能够自由拖放 tt_content 元素进出,如下所示:
我遵循的文档似乎不符合我的愿望,我想在没有任何扩展的情况下解决这个问题。
这是我的 TCA 和 SQL 到目前为止
$col = [
'content_relation' => [
'exclude' => true,
'label' => 'content',
'config' => [
'type' => 'inline',
'allowed' => 'tt_content',
'foreign_table' => 'tt_content',
'foreign_field' => 'content_relation',
'foreign_sortby' => 'sorting',
'minitems' => 0,
'maxitems' => 99,
'appearance' => [
'collapseAll' => true,
'expandSingle' => true,
'levelLinksPosition' => 'bottom',
'useSortable' => true,
'showPossibleLocalizationRecords' => true,
'showRemovedLocalizationRecords' => true,
'showAllLocalizationLink' => true,
'showSynchronizationLink' => true,
'enabledControls' => [
'info' => TRUE,
'new' => TRUE,
'dragdrop' => TRUE,
'sort' => TRUE,
'hide' => TRUE,
'delete' => TRUE,
'localize' => TRUE,
],
],
],
],
];
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tt_content', 'content_relation');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', $col);
$GLOBALS['TCA']['tt_content']['types']['dg_template_box'] = [
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;;general,
header;Internal title (not displayed),
content_relation;Elemente,
',
];
–
CREATE TABLE tt_content (
content_relation int(11) unsigned DEFAULT '0',
);
我假设您需要更改 content_relation
字段的 colPos
。假设 Inhalt
显示来自 colPos
0 的 tt_content
table 的内容元素。当创建新的 content_relation
记录时,它将(逻辑上)显示在您的正常(Inhalt
)后端布局,因为它表示 colPos
等于 0.
最简单的方法是使用<a href="https://github.com/b13/container" rel="nofollow noreferrer">b13/container</a>
package/extension。
您可以简单地创建一个新的自定义“盒子”-包含所有自定义 TCA 配置的容器 - 最好的部分是扩展将自行处理子 tt_content
记录。 :)
有关如何使用 b13/container
扩展的示例,请查看此处 <a href="https://github.com/b13/container-example" rel="nofollow noreferrer">b13/container-example</a>
.