我有“预订”模型,带有“pdf”和“image”属性。这两个属性都是可以由用户上载的文件。
我按照Helhum's example进行了图片上传,效果很好。 我试图对“pdf”字段做同样的事情,但它不起作用。正在上载文件,文件ID也保存在数据库中,但缺少文件引用。
以上是上传后“Book”对象的转储:
pdf => NULL
image => Vendor\MyExt\Domain\Model\FileReference
在“setTypeConverterConfigurationForImageUpload”函数中,我添加了这行pdf属性:
$newExampleConfiguration->forProperty('pdf')
->setTypeConverterOptions(
'Vendor\\MyExt\\Property\\TypeConverter\\UploadedFileReferenceConverter',
$uploadConfiguration
);
我可能错过了一些东西,但我不知道。
编辑: 我找到了这个问题归功于Heinz和Ghanshyam。这是TCA的一个错误。 以下是我的工作TCA的样子:
'image' => array(
'exclude' => 1,
'label' => 'Image',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig('image', array(
'appearance' => array(
'elementBrowserType' => 'file',
'elementBrowserAllowed' => $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'],
),
'minitems' => 0,
'maxitems' => 1,
// custom configuration for displaying fields in the overlay/reference table
// to use the imageoverlayPalette instead of the basicoverlayPalette
'foreign_match_fields' => array(
'fieldname' => 'image',
'tablenames' => 'tx_myext_domain_model_book',
'table_local' => 'sys_file',
),
'foreign_types' => array(
'0' => array(
'showitem' => '
--palette--;;imagePalette,
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette',
),
),
), $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']),
),