Как заставить file_reference в расширении extbase работать в TYPO3 6.1?
Я установил небольшое расширение с помощью компоновщика расширений, содержащего несколько полей, одним из которых является internal_type: 'file_reference'.
'dokument' => array(
'exclude' => 0,
'label' => 'LLL:EXT:publikationen/Resources/Private/Language/locallang_db.xlf:tx_publikationen_domain_model_publikation.dokument',
'config' => array(
'type' => 'group',
'internal_type' => 'file_reference',
//'uploadfolder' => 'uploads/tx_publikationen',
'allowed' => '*',
'disallowed' => 'php',
'size' => 5,
),
),
Поле появляется в бэкэнде, но браузер Element не может показать какие-либо файлы для выбора:
Если я удалю параметр "bparams" из URL, показанного выше, он сможет увидеть файлы, которые там находятся.
Как это можно заставить работать?
1 ответ
Решение
Поля FAL требуют сложной настройки. Чтобы сделать это проще, есть функция, возвращающая конфигурацию TCA для такого поля.
Его использование для поля, которое позволяет только один файл, выглядит следующим образом:
'dokument' => array(
'label' => 'LLL:EXT:publikationen/Resources/Private/Language/locallang_db.xlf:tx_publikationen_domain_model_publikation.dokument',
'exclude' => 0,
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'dokument',
array(
'maxitems' => 1,
'minitems' => 1,
'appearance' => array(
'enabledControls' => array(
'dragdrop' => FALSE,
'localize' => FALSE,
),
),
)
),
),
Просмотр исходного кода этой функции заставляет меня не хотеть делать это вручную.