如何在typo3 EXT的内容元素向导中设置一个图标:gridelements

时间:2016-09-08 07:35:22

标签: typo3

如何设置网格元素的图标(向导)

似乎已经发生了一些变化,因为我以前做过的方式已经不再适用了。

我在文档中找不到任何相关内容

错字3版本7.LTS / Gridelements 7.0.5

tx_gridelements {
overruleRecords = 1
setup {
    TB_3col {
        title = Drei Spalten einfach
        description = (33-33-33; 50-25-25; 25-50-25; 25-25-50) (12er Grid)
        topLevelLayout = 1
        icon = EXT:myext/Resources/Public/Icon/grid.png
        config {
            colCount = 3
            rowCount = 1

            rows {
                1 {
                    columns {
                        1 {
                            name = Spalte 1
                            colPos = 101
                        }

                        2 {
                            name = Spalte 2
                            colPos = 102
                        }

                        3 {
                            name = Spalte 3
                            colPos = 103
                        }
                    }
                }
            }
        }
    }
}

2 个答案:

答案 0 :(得分:5)

我刚刚找到了解决方案。 icon已切换为iconIdentifier

tx_gridelements {
overruleRecords = 1
setup {
    TB_2col {
        title =Zwei Spalten einfach
        description = (50-50; 66-33; 33-66; 75-25; 25-75) (12er Grid)
        topLevelLayout = 1
        iconIdentifier = default-icon
        flexformDS = FILE:EXT:fred/Configuration/FlexForms/Grid/TB_2col.xml
        config {
            colCount = 2
            rowCount = 1

            rows {
                1 {
                    columns {
                        1 {
                            name = Spalte 1
                            colPos = 101
                        }

                        2 {
                            name = Spalte 2
                            colPos = 102
                        }
                    }
                }
            }
        }
    }
}

ext_tables.php

中添加图标
$iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
\TYPO3\CMS\Core\Imaging\IconRegistry::class
);

$iconRegistry->registerIcon(
'default-icon',
\TYPO3\CMS\Core\Imaging\IconProvider\BitmapIconProvider::class,
['source' => 'EXT:myext/Resources/Public/Images/CE/myicon.png']
);

答案 1 :(得分:1)

在Gridelements的问题跟踪器中查看此主题以获取一些示例。 https://forge.typo3.org/issues/73198

您可以使用图标标识符或其他图标文件的路径,但不能同时使用两者。 只有在您使用核心的图标API方法正式注册图标时,才能使用图标标识符。 设置标识符将始终覆盖iconFile中的路径,因为注册图标是处理TYPO3中图标文件的推荐方式。

对于Gridelements本身,这是在ext_tables.php

中完成的
$iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class);
$iconRegistry->registerIcon('gridelements-default', \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class, array(
    'source' => 'EXT:gridelements/Resources/Public/Icons/gridelements.svg'
));

规则是:

您可以自己提供 iconIdentifier iconIdentifierLarge ,但是您必须事先注册该图标,并且将忽略您在设置中提供的任何图标文件。

如果您在设置中使用图标 iconLarge 提供图标文件,则会自动生成标识符,因此您不应手动设置它们。