2 declare(strict_types = 1);
35 $options = $this->data[
'renderData'][
'fieldControlOptions'];
36 $parameterArray = $this->data[
'parameterArray'];
39 $title = $options[
'title'] ??
'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.list';
42 if (isset($options[
'table'])) {
44 $table = $options[
'table'];
45 } elseif ($parameterArray[
'fieldConf'][
'config'][
'type'] ===
'group'
46 && isset($parameterArray[
'fieldConf'][
'config'][
'internal_type'])
47 && $parameterArray[
'fieldConf'][
'config'][
'internal_type'] ===
'db'
48 && !empty($parameterArray[
'fieldConf'][
'config'][
'allowed'])
51 $allowedTables = GeneralUtility::trimExplode(
',', $parameterArray[
'fieldConf'][
'config'][
'allowed'],
true);
52 $table = array_pop($allowedTables);
53 } elseif ($parameterArray[
'fieldConf'][
'config'][
'type'] ===
'select'
54 && !empty($parameterArray[
'fieldConf'][
'config'][
'foreign_table'])
57 $table = $parameterArray[
'fieldConf'][
'config'][
'foreign_table'];
65 $pid = $this->data[
'effectivePid'];
66 if (isset($options[
'pid'])) {
68 $pid = $options[
'pid'];
69 } elseif (isset(
$GLOBALS[
'TCA'][$table][
'ctrl'][
'rootLevel']) && (
int)
$GLOBALS[
'TCA'][$table][
'ctrl'] === 1) {
80 'table' => $this->data[
'tableName'],
81 'uid' => $this->data[
'databaseRow'][
'uid'],
82 'returnUrl' => $this->data[
'returnUrl'],
89 $uriBuilder = GeneralUtility::makeInstance(\
TYPO3\CMS\Backend\Routing\UriBuilder::class);
92 'iconIdentifier' =>
'actions-system-list-open',
95 'id' => htmlspecialchars($id),
96 'href' => (string)$uriBuilder->buildUriFromRoute(
'wizard_list', $urlParameters),
98 'requireJsModules' => [
99 [
'TYPO3/CMS/Backend/FormEngine/FieldControl/ListModule' =>
'function(FieldControl) {new FieldControl(' . GeneralUtility::quoteJSvalue(
'#' . $id) .
');}'],