1

Box在 TYPO3 11 核心上创建了一个自定义内容元素,它有一个内联类型的字段,用于 tt_content 的其他子元素。到目前为止,前端工作得很好,但后端视图让我头疼。

在 parent 上创建子元素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,
        ',
];

——</p>

CREATE TABLE tt_content (
    content_relation int(11) unsigned DEFAULT '0',
);
4

1 回答 1

0

我假设你需要改变colPos你的content_relation领域。假设显示 0表中的Inhalt内容元素。创建新记录时,它将(逻辑上)显示在您的正常 ( ) 后端布局中,因为它表示 a等于 0 的记录。tt_contentcolPoscontent_relationInhaltcolPos

最简单的方法是您应该使用b13/container包/扩展。您可以使用所有自定义 TCA 配置简单地创建一个新的自定义“盒子”容器 - 最好的部分是扩展程序将tt_content自行处理子记录。:)

有关如何使用b13/container扩展的示例,请查看此处b13/container-example

于 2021-10-09T12:50:04.560 回答