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

Plugins 将插件设置为新CType时出现问题,plugins,typo3,backend,Plugins,Typo3,Backend,为了充分利用TCA的showitem为插件配置后端表单,我将其定义为一个新的CType,而不是列表CType的一个新的列表类型 为此,我使用registerPlugin将其注册为addPlugin,而不是官方扩展指南中概述的默认方法。在ext_tables.php中: 然后我可以在Configuration/TCA/Overrides/tt_content.php中使用: 按照我的要求配置它的后端表单显示。 但是现在,在从后端成功地将插件添加到页面上之后,当我尝试从前端查看插件时,我得到了错误:

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

为此,我使用registerPlugin将其注册为addPlugin,而不是官方扩展指南中概述的默认方法。在ext_tables.php中:

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

按照我的要求配置它的后端表单显示。 但是现在,在从后端成功地将插件添加到页面上之后,当我尝试从前端查看插件时,我得到了错误:

ERROR: Content Element with uid "284" and type "myext_pi1" has no rendering definition!
它没有像往常那样:在ext_localconf.php中加载分配给插件的控制器操作,并在ext_localconf.php中加载ExtensionUtility::configurePlugin


有人知道我该怎么做才能使它工作吗?

本例中的要点是,该元素的行为不仅仅是一个自定义内容元素,实际上它是一个自定义内容元素

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

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

tt_content.myext_pi1 < plugin.myext_pi1

本例中的要点是,该元素的行为不仅仅像是一个自定义内容元素,实际上它是一个自定义内容元素

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

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

tt_content.myext_pi1 < plugin.myext_pi1

假设您的文件中没有任何错误,典型的原因是扩展名未包含在TS模板中或包含得太晚,另一个常见的问题是需要大量缓存清除。你做过这些吗?另外,请更新问题,并添加您将这些配置准确放置在哪个文件中的信息。@biesior再次感谢您的回复。问题是扩展的TS被正确加载,因为它的其他插件工作正常。另外,我已经清除了安装工具中的前端、后端和所有Php缓存选项,所以我认为不是这样。我已经用所有的文件名更新了原始帖子。似乎正在发生的是,当使用addPlugin而不是registerPlugin注册插件时,就像它不使用控制器和操作一样,它需要一个模板,就像它是一个自定义内容元素一样。我不知道如何更改它,假设您的文件中没有任何错误,典型的原因是扩展名没有包含在TS模板中或包含得太晚,另一个常见的问题是需要大量缓存清除。你做过这些吗?另外,请更新问题,并添加您将这些配置准确放置在哪个文件中的信息。@biesior再次感谢您的回复。问题是扩展的TS被正确加载,因为它的其他插件工作正常。另外,我已经清除了安装工具中的前端、后端和所有Php缓存选项,所以我认为不是这样。我已经用所有的文件名更新了原始帖子。似乎正在发生的是,当使用addPlugin而不是registerPlugin注册插件时,就像它不使用控制器和操作一样,它需要一个模板,就像它是一个自定义内容元素一样。我不知道如何改变它,我明白了。我想我注册的插件是正确的,它显示在后端,它的数据库表似乎是正确的。我的问题在前端。我用ExtensionManagementUtility::addPlugin而不是registerPlugin注册了它,以便能够将其创建为新的CType而不是列表CType。我已尝试将您的第二个代码段放入我的setup.typoscript,但仍有相同的错误。这是有意义的,因为它注册为CE而不是Plugin.registerPlugin只是addPlugin的包装器,所以打字脚本配置应该没有任何区别。我也尝试过tt_content.ndthemes_pi1我还尝试了tt_content.ndthemes_pi1