TYPO3 selectSingle, добавить опцию, которая создает новый элемент (addRecord) - PullRequest
0 голосов
/ 13 мая 2019

У меня есть элемент selectSingle, который получает список некоторых адресов из другой таблицы.Поскольку следующее не работает на TYPO3 v9 с selectSingle

'fieldControl' => [
   'editPopup' => [
        'disabled' => false,
    ],
    'addRecord' => [
        'disabled' => false,
    ],
    'listModule' => [
        'disabled' => false,
    ],
],

, я хотел бы создать опцию внутри списка выбора, которая дублирует поведение addRecord.Пока что мои элементы находятся в

myExt / Configuration / TCA / Overrides / tx_domain_model_modelName

, и мой элемент выглядит так:

$GLOBALS['TCA'][$tableName]['columns']['db_field'] = [
    'exclude' => false,
    'label' => 'LLL:EXT:myExt/Resources/Private/Language/locallang_db.xlf:.db_field',
    'config' => [
        'type' => 'select',
        'renderType' => 'selectSingle',
        'items' => [
            ["LLL:EXT:myExt/Resources/Private/Language/locallang_db.xlf:.selectItem", 0],
        ],
        'foreign_table' => 'tx_ext_domain_model_address',
    ],
];

Если есть способ обойти это (addRecord), я бы определенно использовал его.Если нет, я был бы очень признателен, если бы вы указали мне правильное направление создания этого элемента в списке выбора.

Дополнительная информация

Я пыталсяиспользуйте следующий код Код , но я получил эту ошибку:

Слишком мало аргументов для функции TYPO3 \ CMS \ Backend \ Form \ Element \ AbstractFormElement :: __ construct (), 0 переданов /my/home/path/htdocs/typo3/sysext/core/Classes/Utility/GeneralUtility.php в строке 3667 и ожидаемых точных 2

и функции, которая вызывает эту ошибку внутри AbstractFormElement :: __ construct выглядит так:

public function __construct(NodeFactory $nodeFactory, array $data)
    {
        parent::__construct($nodeFactory, $data);
        $this->iconFactory = GeneralUtility::makeInstance(IconFactory::class);
    }

Заранее спасибо,

...