typo3 后端中的 TCA 图标叠加
TCA Icon overlay in typo3 backend
我正在开发一个扩展程序,将一些数据同步到另一个数据库,我想使用 TCA 图标覆盖在后端显示它。可悲的是我无法找到如何做到这一点。我考虑过使用 'ctrl'=>'typeicon_classes'(使用我的 table 的状态字段来选择一个图标),这适用于默认值(非同步元素),但我不知道如何设置叠加层。关于如何执行此操作的任何想法?
我的 TCA 配置如下所示:
'ctrl' => [
...
'typeicon_column' => 'state',
'typeicon_classes' => [
'new' => 'mimetypes-x-content-login',
'synced' => 'mimetypes-x-content-login-overlay-approved',
]
],
"synced" 部分没有按预期工作。我期望的是在图标末尾添加叠加层或通过添加空格来添加它,但两者都不起作用。
感谢任何帮助。
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]
);
}
}
适应你的扩展名
我正在开发一个扩展程序,将一些数据同步到另一个数据库,我想使用 TCA 图标覆盖在后端显示它。可悲的是我无法找到如何做到这一点。我考虑过使用 'ctrl'=>'typeicon_classes'(使用我的 table 的状态字段来选择一个图标),这适用于默认值(非同步元素),但我不知道如何设置叠加层。关于如何执行此操作的任何想法?
我的 TCA 配置如下所示:
'ctrl' => [
...
'typeicon_column' => 'state',
'typeicon_classes' => [
'new' => 'mimetypes-x-content-login',
'synced' => 'mimetypes-x-content-login-overlay-approved',
]
],
"synced" 部分没有按预期工作。我期望的是在图标末尾添加叠加层或通过添加空格来添加它,但两者都不起作用。
感谢任何帮助。
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]
);
}
}
适应你的扩展名