如何在TYPO3的用户设置的新选项卡中添加新字段

时间:2019-05-13 15:36:12

标签: typo3 typo3-8.x

我们如何在TYPO3 8.7版的用户设置的新选项卡中添加新字段? 我们的问题是创建新标签。

我可以在用户设置中向“个人数据”选项卡添加新字段,但是我需要在新选项卡中创建新字段。 对于后端管理员用户设置,我添加了一个新标签,但是对于用户设置,我想尝试一下。我有一个扩展程序,自从安装扩展程序以来,它将附加。

我试图在fe_user.php中创建新标签。
以前我曾尝试更改ext_tables.php,但这根本不起作用。

// Add some fields to FE Users table to show TCA fields definitions 
// USAGE: TCA Reference > $GLOBALS['TCA'] array reference >
// ['columns'][fieldname]['config'] / TYPE: "select" 
$temporaryColumns = array (
    'tx_examples_options' => array (
        'exclude' => 1,
        'label' => 'tx_examples_options',
        'config' => array (
            'type' => 'select',
            'showitem' => array (
                array('LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:fe_users.tx_examples_options.I.0', '1'),
                array('LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:fe_users.tx_examples_options.I.1', '2'),
                array('LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:fe_users.tx_examples_options.I.2', '--div--'),
                array('LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:fe_users.tx_examples_options.I.3', '3'),
            ),
            'size' => 1,
            'maxitems' => 1,
        )
    ),
    'tx_examples_special' => array (
        'exclude' => 1,
        'label' => 'tx_examples_special',
        'config' => array (
            'type' => 'user',
            'size' => '30',
            'userFunc' => 'Documentation\\Examples\\Userfuncs\\Tca->specialField',
            'parameters' => array(
                'color' => 'blue'
            )
        )
    ), 
);

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
    'fe_users',
    $temporaryColumns 
); 
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
    'fe_users',
    '--div--;newtab,tx_examples_options, tx_examples_special' 
);

当我更改为文件ext_tables.php

 $GLOBALS['TYPO3_USER_SETTINGS']['columns']['copy_directory'] = array(
       'label' => 'Alternative directory for saving copies',
       'type' => 'text',
       'table' => 'be_users',
    );
    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToUserSettings('copy_directory','after:lang');

然后它显示在“个人数据”标签中,但我希望在非管理员用户的用户设置中添加新标签。

1 个答案:

答案 0 :(得分:0)

通常,您的代码看起来不错。
但是您的档案有误!
尽可能避免使用ext_tables.php

如果您对TCA进行了任何更改,则应在Configuration/TCA/中对新表进行更改,而在Configuration/TCA/Overrides中对现有表进行增强。
根据要修改的表使用文件名。

您的情况下,所有代码都应位于Configuration/TCA/Overrides/fe_users.php中。

如果使用TCA开发任何内容,请确保清除所有缓存!