[英]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
表的內容元素。當創建新的content_relation
記錄時,它將(邏輯上)顯示在您的正常( Inhalt
)后端布局中,因為它表示colPos
等於 0 的記錄。
最簡單的方法是您應該使用b13/container
包/擴展。 您可以簡單地創建一個新的自定義“盒子”——包含所有自定義 TCA 配置的容器——最好的部分是擴展將自行處理子tt_content
記錄。 :)
有關如何使用b13/container
擴展的示例,請查看此處的b13/container-example
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.