将插件设置为新CType时出现问题



为了充分利用TCA的showitem为插件配置后端表单,我将其定义为新的CType,而不是listCType的新list_type

我使用addPlugin注册它,而不是使用官方扩展指南中列出的默认方法registerPlugin。在ext_tables.php:中

TYPO3CMSCoreUtilityExtensionManagementUtility::addPlugin(
[
// Label.
'LLL:EXT:my_ext/Resources/Private/Language/locallang.xlf:pi1.name',
// Plugin key.
'myext_pi1',
// Icon.
'pi1'],
'CType',
'my_ext'
);

然后我可以在Configuration/TCA/Overrides/tt_content.php:中使用

$GLOBALS['TCA']['tt_content']['types']['myext_pi1'] = [
'showitem' => " ... "]

根据我的需要配置它的后端表单显示。但现在,在从后端成功地在页面上添加插件后,当我试图从前端查看它时,我得到了错误:

ERROR: Content Element with uid "284" and type "myext_pi1" has no rendering definition!

它不做通常的事情:用ExtensionUtility::configurePlugin(在ext_localconf.php中(加载分配给ext_localconf.php中插件的控制器操作。

有人知道我该怎么做才能让它发挥作用吗?

本例的要点是,元素不只是"就好像它是一个自定义内容元素一样";,但它实际上是一个自定义内容元素。

因此,您必须通过提供至少一个基本配置

tt_content.myext_pi1

如果您正确注册了一个插件,只需将插件配置复制到tt_content条目就足够了

tt_content.myext_pi1 < plugin.myext_pi1

最新更新