【问题标题】:TCA Icon overlay in typo3 backendTyp3 后端中的 TCA 图标叠加层
【发布时间】:2018-12-12 16:45:16
【问题描述】:

我正在开发一个扩展,我将一些数据同步到另一个数据库,我想使用 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 后端需要这个,前端的明显解决方案是使用流体或 PHP,但我认为这不适合 TYPO3 后端列表。

【问题讨论】:

    标签: typo3 typo3-8.x typo3-9.x typo3-tca


    【解决方案1】:

    您需要注册您的图标文件。 鉴于您的图标文件名为 content_login.svgcontent_login_overlay_approved.svg 位于目录 /Resources/Public/Icons/ 中,您可以在 em>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 文件,对吧?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    相关资源
    最近更新 更多