我们如何在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');
然后它显示在“个人数据”标签中,但我希望在非管理员用户的用户设置中添加新标签。
答案 0 :(得分:0)
通常,您的代码看起来不错。
但是您的档案有误!
尽可能避免使用ext_tables.php
。
如果您对TCA进行了任何更改,则应在Configuration/TCA/
中对新表进行更改,而在Configuration/TCA/Overrides
中对现有表进行增强。
根据要修改的表使用文件名。
您的情况下,所有代码都应位于Configuration/TCA/Overrides/fe_users.php
中。
如果使用TCA开发任何内容,请确保清除所有缓存!