如何在页面模块列表视图中添加图标以拥有ctype

时间:2017-06-23 08:45:14

标签: typo3 typo3-7.6.x

在TYPO3 7.6中,我使用新的CType创建了一个新的内容元素。

我从icon-factory(内容引用)中选择了一个图标。

我设法将此图标包含在新元素向导中

mod.wizards.newContentElement.wizardItems.common.elements.myOwnCtype.iconIdentifier = content-quote

我设法将图标包含在下拉字段中"输入"在

中编辑内容元素时
$GLOBALS['TCA']['tt_content']['columns']['CType']['config']['items'][]

但是必须有第三名来定义ctypes的图标:

当我打开Web-> Page时,我会预览此页面上的所有内容元素。

每个内容元素顶部都有一个灰色条,左侧有一个与其对应的图标。在我的情况下,这仍然显示标准图标。

我该如何改变?

2 个答案:

答案 0 :(得分:3)

您可以将此代码放在EXT:my_extension / Configuration / TCA / Overrides / tt_content.php中,以便在后端预览的标题中为您自己的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);

答案 1 :(得分:0)

鉴于默认设置为

$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']...