Zum Inhalt springen

Warum werden die Werte in sys_file_reference nicht eingetragen?

Erstellt am 5. Juni 2017 · 1 Antwort · letzte Antwort am 7. Juni 2017

Tags: TCA, Dateien & FAL, TYPO3 8, Frage

getit ·

Habe einen Dateiupload in meinem Modul geschrieben.
Nur leider werden die Werte nicht korrekt in die Tabelle 'sys_file_reference' geschrieben.

In meinem setup habe ich folgendes stehen:

module.tx_kkbaybw {
  persistence {
    ...
    classes {
      ...
      // for file upload in leistunganhang
      KKSoftware\Kkbaybw\Domain\Model\FileReferenceForLeistunganhang {
        mapping {
	  tableName = sys_file_reference
	  columns {
	    uid_local.mapOnProperty = originalFileIdentifier
	  }
	}
      }
    }
  }
}

und in der Datei 'ext_tables.php':

$propertyName = 'dateianhang';
$GLOBALS['TCA']['tx_kkbaybw_domain_model_file_reference_for_leistunganhang']['columns'][$propertyName]['config'] = ExtensionManagementUtility::getFileFieldTCAConfig(
  $propertyName,
  [
    'maxitems' => 1,
    'foreign_match_fields' => [
      'tablenames' => 'tx_kkbaybw_domain_model_leistunganhang',
      'fieldname' => $propertyName,
      'table_local' => 'sys_file',
    ]
  ]
);

Aber, wie im Dateianhang ersichtlich, wird lediglich das Feld 'fieldname' korrekt eingetragen.
Wieso fehlen die anderen Informationen?

P.S.: Ich habe gesehen, das der Screenshot nicht angezeigt wird. Deshalb einen Auszug aus 'sys_file_reference':

uid_local    uid_foreign    tablenames    fieldname    table_local
142          6                            dateianhang

Also die Werte für 'tablenames' und 'table_local' fehlen.

getit ·

Es läuft - kann mir nur erklären das das noch falsch gecacht war.

Den Inhalt aus der 'ext_tables.php' habe ich jetzt in 'Configuration/TCA/Overrides/tx_kkbaybw_domain_model_leistunganhang.php' ausgelagert.

$GLOBALS['TCA']['tx_kkbaybw_domain_model_leistunganhang']['columns']['dateianhang']['config'] = ExtensionManagementUtility::getFileFieldTCAConfig(
	'dateianhang',
	[
		'maxitems' => 1,
		'foreign_match_fields' => [
			'fieldname' => 'dateianhang',
			'tablenames' => 'tx_kkbaybw_domain_model_leistunganhang',
			'table_local' => 'sys_file'
		],
	],
	$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
);