Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
typo3后端中的TCA图标覆盖_Typo3_Typo3 8.x_Typo3 9.x_Typo3 Tca - Fatal编程技术网

typo3后端中的TCA图标覆盖

typo3后端中的TCA图标覆盖,typo3,typo3-8.x,typo3-9.x,typo3-tca,Typo3,Typo3 8.x,Typo3 9.x,Typo3 Tca,我正在开发一个扩展,其中我将一些数据同步到另一个数据库,我希望在后端使用TCA图标覆盖来显示这一点。遗憾的是,我不知道该怎么做。我考虑过使用'ctrl'=>'typeicon_classes'(使用我表格的状态字段来选择图标),这对默认值(非同步元素)有效,但我不知道如何设置覆盖。你知道怎么做吗 我的TCA配置如下所示: 'ctrl' => [ ... 'typeicon_column' => 'state', 'typeicon_classes' =>

我正在开发一个扩展,其中我将一些数据同步到另一个数据库,我希望在后端使用TCA图标覆盖来显示这一点。遗憾的是,我不知道该怎么做。我考虑过使用'ctrl'=>'typeicon_classes'(使用我表格的状态字段来选择图标),这对默认值(非同步元素)有效,但我不知道如何设置覆盖。你知道怎么做吗

我的TCA配置如下所示:

'ctrl' => [
    ...
    'typeicon_column' => 'state',
    'typeicon_classes' => [
        'new' => 'mimetypes-x-content-login',
        'synced' => 'mimetypes-x-content-login-overlay-approved',
    ]
],
“同步”部分无法按预期工作。我所期望的是在图标的末尾添加覆盖,或者添加一个空白,但两者都不起作用

感谢您的帮助


PS:我真的只需要在TYPO3后端使用它,前端的明显解决方案是使用fluid或PHP,但我认为这不适合TYPO3后端列表。

您需要注册图标文件。 如果您的图标文件名为content_login.svg和content_login_overlay_approved.svg,位于目录/Resources/Public/Icons/中,您可以在ext_localconf.php中注册这些文件,如下所示:

if (TYPO3_MODE === 'BE') {
    $icons = [
        'mimetypes-x-content-login' => 'content_login.svg',
        'mimetypes-x-content-login-overlay-approved' => 'content_login_overlay_approved.svg',
    ];
    $iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class);
    foreach ($icons as $identifier => $path) {
        $iconRegistry->registerIcon(
            $identifier,
            \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class,
            ['source' => 'EXT:YOUREXTENSIONNANME/Resources/Public/Icons/' . $path]
        );
    }
}

调整您的扩展名

好的,所以我必须从TYPO3中获取现有的svg图标,添加现有的覆盖svg并生成新的svg文件,对吗?