editPopup
-
- Type
- array
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['editPopup']
- Scope
- Display
- Types
- group
The edit popup field control shows a pencil icon to edit an element directly in a popup window. When a record is selected and the edit button is clicked, that record opens in a new window for modification.
Note
The edit popup control is pre-configured, but disabled by default. Enable it if you need it, the button is by default shown below
element browserandinsert clipboard.
Options
disabled
-
- Type
- boolean
- Default
- true
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['editPopup']['disabled']
- Scope
- Display
Disables the field control. Needs to be set to
falseto enable the Create new button
options[title]
-
- Type
- string
- Default
LLL:core. core: labels. edit - TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['editPopup']['options']['title']
- Scope
- Display
- Values
- plain text label or label reference
Allows to set a different 'title' attribute to the popup icon.
options[windowOpenParameters]
-
- Type
- string
- Default
- height=800,width=600,status=0,menubar=0,scrollbars=1
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['editPopup']['options']['windowOpenParameters']
- Scope
- Display
- Values
- plain text label or label reference
Allows to set a different size of the popup, defaults
Examples
Select field
The speakers of a conference with field controls
<?php
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
defined('TYPO3') or die();
ExtensionManagementUtility::addTCAcolumns('tx_myextension_conference', [
'speakers' => [
'label' => 'my_extension.db:conference.speakers',
'config' => [
'type' => 'select',
'renderType' => 'selectMultipleSideBySide',
'foreign_table' => 'tx_myextension_speaker',
'MM' => 'tx_myextension_conference_speaker_mm',
// Speakers in the default language, not their translations
'foreign_table_where' => 'AND {#tx_myextension_speaker}.{#sys_language_uid} IN (-1, 0) ORDER BY tx_myextension_speaker.name',
'size' => 5,
'autoSizeMax' => 20,
'fieldControl' => [
'editPopup' => [
'disabled' => false,
'options' => [
'title' => 'my_extension.db:conference.speakers.edit',
],
],
'addRecord' => [
'disabled' => false,
'options' => [
'title' => 'my_extension.db:conference.speakers.add',
// A new speaker comes first in the list of selected speakers
'setValue' => 'prepend',
],
],
'listModule' => [
'disabled' => false,
'options' => [
'title' => 'my_extension.db:conference.speakers.list',
],
],
],
],
],
]);
ExtensionManagementUtility::addToAllTCAtypes(
'tx_myextension_conference',
'speakers',
'',
'before:--div--;my_extension.db:tab.details',
);
Group field
The speaker of a talk with field controls
<?php
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
defined('TYPO3') or die();
ExtensionManagementUtility::addTCAcolumns('tx_myextension_talk', [
'speaker' => [
'label' => 'my_extension.db:talk.speaker',
'config' => [
'type' => 'group',
'allowed' => 'tx_myextension_speaker',
'maxitems' => 1,
'relationship' => 'manyToOne',
// The speakers are stored in the same folder as the talks
'elementBrowserEntryPoints' => [
'tx_myextension_speaker' => '###CURRENT_PID###',
],
'fieldControl' => [
'editPopup' => [
'disabled' => false,
],
'addRecord' => [
'disabled' => false,
],
'listModule' => [
'disabled' => false,
],
],
'behaviour' => [
'allowLanguageSynchronization' => true,
],
],
],
]);
$GLOBALS['TCA']['tx_myextension_talk']['types']['keynote']['columnsOverrides']['speaker']['config']['minitems'] = 1;
ExtensionManagementUtility::addToAllTCAtypes(
'tx_myextension_talk',
'speaker',
'',
'after:slug',
);