TYPO3 8 LTS中类型组中的内部\u类型文件\u引用

TYPO3 8 LTS中类型组中的内部\u类型文件\u引用,typo3,Typo3,我尝试了以下tca: 'file' => [ 'config' => [ 'type' => 'group', 'internal_type' => 'file', 'allowed' => 'gif,jpg', 'max_size' => 1000, 'uploadfolder' => 'uploads

我尝试了以下tca:

        'file' => [
        'config' => [
            'type' => 'group',
            'internal_type' => 'file',
            'allowed' => 'gif,jpg',
            'max_size' => 1000,
            'uploadfolder' => 'uploads/pics/',
            'show_thumbs' => 1,
            'size' => 3,
            'minitems' => 0,
            'maxitems' => 200,
            'autoSizeMax' => 10
        ],
    ],
这是我从一个例子中得到的。但我需要的不是文件

'internal_type' => 'file_reference',
在后端使用向导时引发以下错误:

#1288965219:$className必须是非空字符串。(更多信息) 在文件中引发InvalidArgumentException 第3874行的typo3_src-8.7.8/typo3/sysext/core/Classes/Utility/GeneralUtility.php

你知道为什么这样不行吗?
谢谢

不建议自己为FAL关系建立TCA。您应该对此负责。

不建议您自己为FAL关系构建TCA。你应该对此负责。

这是typo3核心中的一个bug。在文件中

/typo3\u src/typo3/sysext/recordlist/ext\u tables.php

是否定义了三种元素浏览器:

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ElementBrowsers']['db'] =  \TYPO3\CMS\Recordlist\Browser\DatabaseBrowser::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ElementBrowsers']['file'] =  \TYPO3\CMS\Recordlist\Browser\FileBrowser::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ElementBrowsers']['folder'] =  \TYPO3\CMS\Recordlist\Browser\FolderBrowser::class;
缺少用于文件\u引用的元素浏览器。但是不需要特殊的浏览器-文件和文件参考之间的唯一区别是文件将保存在哪里,而这不是元素浏览器的任务。如果我添加这一行:

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ElementBrowsers']['file_reference'] =  \TYPO3\CMS\Recordlist\Browser\FileBrowser::class;
一切正常

我把它贴在forge上:


因此很容易修复:我在ext_tables.php中添加了以下几行:

if (TYPO3_MODE === 'BE') {
   // activating file browser for file_reference: 
   $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ElementBrowsers']['file_reference'] =  \TYPO3\CMS\Recordlist\Browser\FileBrowser::class;
}

这是typo3核心中的一个bug。在文件中

/typo3\u src/typo3/sysext/recordlist/ext\u tables.php

是否定义了三种元素浏览器:

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ElementBrowsers']['db'] =  \TYPO3\CMS\Recordlist\Browser\DatabaseBrowser::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ElementBrowsers']['file'] =  \TYPO3\CMS\Recordlist\Browser\FileBrowser::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ElementBrowsers']['folder'] =  \TYPO3\CMS\Recordlist\Browser\FolderBrowser::class;
缺少用于文件\u引用的元素浏览器。但是不需要特殊的浏览器-文件和文件参考之间的唯一区别是文件将保存在哪里,而这不是元素浏览器的任务。如果我添加这一行:

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ElementBrowsers']['file_reference'] =  \TYPO3\CMS\Recordlist\Browser\FileBrowser::class;
一切正常

我把它贴在forge上:


因此很容易修复:我在ext_tables.php中添加了以下几行:

if (TYPO3_MODE === 'BE') {
   // activating file browser for file_reference: 
   $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ElementBrowsers']['file_reference'] =  \TYPO3\CMS\Recordlist\Browser\FileBrowser::class;
}

谢谢你的回答。它是TYPO3 4.5的一个旧扩展,里面有数百个文件,我必须让它在TYPO3 8上运行。它只是将正在运行的tcs配置从4.5更新为8。感谢您的回答。它是TYPO3 4.5的一个旧扩展,里面有数百个文件,我必须让它在TYPO3 8上运行。它只是将正在运行的tcs配置从4.5更新为8。