首页 > 解决方案 > TYPO3 selectSingle,添加一个创建新元素的选项(addRecord)

问题描述

我有一个 selectSingle 元素,它从另一个表中获取一些地址的列表。由于以下内容不适用于带有 selectSingle 的 TYPO3 v9

'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 在第 3667 行的 /my/home/path/htdocs/typo3/sysext/core/Classes/Utility/GeneralUtility.php 中传递正好2个预期

在AbstractFormElement::__construct中导致此错误的函数如下所示:

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

提前致谢,

标签: typo3elementrecordtypo3-9.x

解决方案


推荐阅读