首页 > 解决方案 > 带有选择选项的typo3 上的新自定义内容元素

问题描述

我想创建一个内容元素,编辑器可以在其中选择要在前端显示的图标。

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
   'tt_content',
   'CType',
    [
        'LLL:EXT:your_extension_key/Resources/Private/Language/Tca.xlf:yourextensionkey_newcontentelement',
        'ServiceCE',
        'example-registration',
    ],
    'textmedia',
    'after'
);
$GLOBALS['TCA']['tt_content']['types']['ServiceCE'] = [
   'showitem' => '
      --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
         --palette--;;general,
            header; Header,
            bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel,
   ',
];

在这里,我在后端创建布局以插入内容,只有标题和正文。

标签: typo3

解决方案


会有很多可能的解决方案:

取决于是否应将图标分配给页面或内容元素与表格一起使用pagestt_content

  1. 您的扩展程序将提供图标列表:
    为记录添加一个带有图标选择列表的附加字段。将其放入 TCA ( Configuration/TCA/Override/<table>.php)。确保该值是图标名称,因此您不需要在 FLUID 中进行其他替换。将渲染添加到它所属的 FLUID 模板中。因为它应该在任何地方都可用,所以布局模板将是一个好地方。

  2. use sys_categories:使用内置类别为任何记录提供图标。
    使用图标作为类别图像创建一些类别,或使用另一个字段作为图标名称。(您甚至可以为图标名称添加另一个字段。)
    用于渲染pagestt_content添加数据处理器以获取sys_category数据记录的分配记录,然后在布局中渲染记录的第一个/所有图标-模板。


推荐阅读