Я потратил целый день, пытаясь добиться этого:
то, что я хочу сделать, это добавить новую вкладку (давайте назовем это extralinks) в свойствах страницы.
и эта вкладка будет содержать элемент IRRE для добавления ссылок на каждую страницу
поэтому я создал новую таблицу:
ext_tables
CREATE TABLE links(
uid int(11) NOT NULL auto_increment,
link varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (uid)
);
и затем я добавил новый файл в TCA / Overrides / links.php
links.php
<?php
if (!defined('TYPO3_MODE')) {
die ('Access denied.');
}
$GLOBALS['TCA']['links'] = array(
'ctrl' => array(
'label' => 'links',
'title' => 'extralinks',
),
'interface' => '',
'columns' => array(
'link' => array(
'label' => 'extralinks',
'exclude' => true,
'config' => array(
'type' => 'input',
'size' => 50,
'max' => 255,
'eval' => 'trim'
)
)
),
'types' => [
'0' => [
'showitem' => '
--div--;;LLL:extralinks,
link
'
]
],
'palettes' => 'extralinks'
);
$linksColumns = array(
'extralinks' => array(
'exclude' => true,
'label' => 'extralinks',
'config' => array(
'type' => 'inline',
'foreign_table' => 'links',
'maxitems' => 30,
'appearance' => [
'collapseAll' => 1,
'expandSingle' => 1,
],
)
)
);
Теперь в том же файле в конце мне нужно добавить это, чтобы иметь таблицы, поэтому я делаю следующее:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('pages', '--div--;Extra links,extralinks;;;;1-1-1', '');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('pages', $linksColumns);
когда я делаю это, появляется новая вкладка с новым элементом, но когда я пытаюсь добавить ссылку, я получаю сообщение об ошибке, в котором говорится, что extralinks не является столбцом в таблице страниц - что понятно -
поэтому, когда я попробую это
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('links', '--div--;Extra links,extralinks;;;;1-1-1', '');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('links', $linksColumns);
теперь я даже не вижу ни вкладки, ни пункта ....
Как я могу достичь этого?
p.s
- забыли назвать по-другому, и я почти уверен, что это не проблема
- я использую typo3-cms 9.5