如何在页面模块列表视图中将图标添加到自己的ctype
How to add an Icon to own ctype in Page-Module List-View
在 TYPO3 7.6 中,我使用新的 CType 创建了一个新的内容元素。
我从图标工厂(内容引用)中选择了一个图标。
我设法将此图标包含到新元素向导中
mod.wizards.newContentElement.wizardItems.common.elements.myOwnCtype.iconIdentifier = content-quote
在
中编辑内容元素时,我设法将图标包含在下拉字段 "type" 中
$GLOBALS['TCA']['tt_content']['columns']['CType']['config']['items'][]
但是必须有第三个地方来定义ctypes的图标:
当我打开 Web->Page 时,我可以预览此页面上的所有内容元素。
每个内容元素的顶部都有一个灰色条,左下角有一个与其 ctype 对应的图标。在我的案例中,这仍然显示标准图标。
我该如何更改?
您可以将此代码放入您的 EXT:my_extension/Configuration/TCA/Overrides/tt_content.php 以在后端预览 header 中为您自己的 CType 设置图标。
$originalTtContent = $GLOBALS['TCA']['tt_content'];
$overridesForTtContent = [
'ctrl' => [
'typeicon_classes' => [
'your_CType' => 'your_icon',
'your_CType' => 'your_icon',
'your_CType' => 'your_icon',
]
]
];
$GLOBALS['TCA']['tt_content'] = array_merge_recursive($originalTtContent, $overridesForTtContent);
假设默认设置为
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_column'] => 'CType';
在 ext_tables.php
中注册您的图标
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class)->registerIcon(
'mimetypes-x-content-myctype',
\TYPO3\CMS\Core\Imaging\IconProvider\BitmapIconProvider::class,
['source' => 'EXT:myextension/Resources/Public/Images/mimetypes-x-content-myctype.png']
);
将您的图标添加到 typeicon_classes
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['myctype'] => 'mimetypes-x-content-myctype';
其中 'myctype' 的语法必须匹配您自己的 CType,在
中给出
$GLOBALS['TCA']['tt_content']['types']...
在 TYPO3 7.6 中,我使用新的 CType 创建了一个新的内容元素。
我从图标工厂(内容引用)中选择了一个图标。
我设法将此图标包含到新元素向导中
mod.wizards.newContentElement.wizardItems.common.elements.myOwnCtype.iconIdentifier = content-quote
在
中编辑内容元素时,我设法将图标包含在下拉字段 "type" 中$GLOBALS['TCA']['tt_content']['columns']['CType']['config']['items'][]
但是必须有第三个地方来定义ctypes的图标:
当我打开 Web->Page 时,我可以预览此页面上的所有内容元素。
每个内容元素的顶部都有一个灰色条,左下角有一个与其 ctype 对应的图标。在我的案例中,这仍然显示标准图标。
我该如何更改?
您可以将此代码放入您的 EXT:my_extension/Configuration/TCA/Overrides/tt_content.php 以在后端预览 header 中为您自己的 CType 设置图标。
$originalTtContent = $GLOBALS['TCA']['tt_content'];
$overridesForTtContent = [
'ctrl' => [
'typeicon_classes' => [
'your_CType' => 'your_icon',
'your_CType' => 'your_icon',
'your_CType' => 'your_icon',
]
]
];
$GLOBALS['TCA']['tt_content'] = array_merge_recursive($originalTtContent, $overridesForTtContent);
假设默认设置为
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_column'] => 'CType';
在 ext_tables.php
中注册您的图标\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class)->registerIcon(
'mimetypes-x-content-myctype',
\TYPO3\CMS\Core\Imaging\IconProvider\BitmapIconProvider::class,
['source' => 'EXT:myextension/Resources/Public/Images/mimetypes-x-content-myctype.png']
);
将您的图标添加到 typeicon_classes
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['myctype'] => 'mimetypes-x-content-myctype';
其中 'myctype' 的语法必须匹配您自己的 CType,在
中给出$GLOBALS['TCA']['tt_content']['types']...