Установить папку загрузки при использовании FAL в TCA
Возможно ли при использовании FAL установить папку назначения загрузки непосредственно в столбце TCA? Моя конфигурация выглядит следующим образом:
'images_outdoor' => Array (
'exclude' => 1,
'label' => 'Outdoor: ',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig('images_outdoor', Array (
'appearance' => Array (
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
),
'minitems' => 1,
'maxitems' => 6,
), $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']),
),
У меня есть такие столбцы в разных TCA и я хочу, чтобы их изображения были сохранены в разных папках. Таким образом, стандартная настройка папки здесь не работает.
1 ответ
Я знаю, что это старый, но вот ответ.
Для TYPO3 6.2 нет поддерживаемых способов, но в новом TYPO3 7.6 LTS должна быть возможность зарегистрировать хук в вашем ext_localconf.php
файл, добавьте это:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauthgroup.php']['getDefaultUploadFolder'][] = 'VendorName\ExtensionName\Hooks\BackendUserAuthentication->getDefaultUploadFolder'
Создать файл Classes/Hooks/BackendUserAuthentication.php
и напишите что-то вроде этого:
<?php
namespace VendorName\ExtensionName\Hooks;
classe BackendUserAuthentication {
public function getDefaultUploadFolder(Array $params, \TYPO3\CMS\Core\Authentication\BackendUserAuthentication $backendUserAuthentication) {
// Do what you wants here and return a object of \TYPO3\CMS\Core\Resource\Folder
}
}
Массив params будет содержать это:
$_params = array(
'uploadFolder' => $uploadFolder, // The current \TYPO3\CMS\Core\Resource\Folder object, properly 1:/user_upload/
'pid' => $pid, // Page id
'table' => $table, // The table name
'field' => $field, // The field name
);
Теперь используйте таблицу и имя поля, чтобы изменить папку для загрузки.