5

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 にそのような列があり、それらの画像を異なるフォルダーに保存したいと考えています。したがって、標準のフォルダ設定はここでは機能しません。

4

1 に答える 1

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
);

テーブルとフィールド名を使用して、アップロード フォルダーを変更します。

于 2016-01-31T20:18:03.507 に答える