【发布时间】:2016-12-06 08:50:45
【问题描述】:
我在 TYPO3 6.2 中使用 extension builder 制作了一个 extbase 扩展,到目前为止,我有一个可用的前端插件。但是现在我想添加另一个可以使用该扩展的相同类的插件,我什至无法成功添加它。
单击应显示我的新插件的页面时,我收到此错误:
捕获异常:扩展的默认控制器 ... 并且无法确定插件“Stats”。请检查 TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin() 在您的 ext_localconf.php。
这是我之前所做的:
在扩展生成器中添加新插件“Stats”后,我在 ext_localconf.php 中看到以下代码:
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'CC.' . $_EXTKEY,
'Appoints',
array(
'Appointment' => 'list, show, new, create, edit',
'Feedback' => 'new, create, list',
),
// non-cacheable actions
array(
'Appointment' => 'list, show, new, create, edit',
'Feedback' => 'new, create, list',
)
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'CC.' . $_EXTKEY,
'Stats',
array(
'Appointment' => 'statistic',
),
// non-cacheable actions
array(
'Appointment' => 'statistic',
)
);
在 ext_tables.php 中我得到了:
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'CC.' . $_EXTKEY,
'Appoints',
'Appointments'
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'CC.' . $_EXTKEY,
'Stats',
'Statstics'
);
看来扩展生成器做的一切都很完美。
在我的 AppointmentController.php
(命名空间正确 - namespace Vendor\Extname\Controller;)我补充说:
public function statisticAction() {
echo "testing";
}
然后我在后端的页面中添加了新插件。 (请忽略图片中的拼写错误我已经更正了,但这不是我的问题的原因)
那可能是什么原因呢?我怎样才能以最简单的方式解决这个问题?
我是否应该在扩展构建器中的switchableControllerActions 中输入一些内容,因为我使用相同的控制器和两个插件但不同的操作?如果是这样 - 什么?
编辑:我发现它一定与我的后端页面有关,idk 什么 - 但是如果我在同一页面上更改插件,它可以工作,...我正在寻找导致两个页面之间的差异这可能会导致...
【问题讨论】:
-
你清除了TYPO3配置缓存吗?
-
请检查这个答案:stackoverflow.com/a/22160671/2070270 也许,你可以在那里找到一些提示
-
只做一次扩展卸载/安装,因为有时这个错误是由于typo3缓存而出现的。
-
对我来说似乎也是一个缓存问题。刷新typo3temp/Cache/Code/cache_core/ext_localconf*.php 以使您的ext_localconf.php 中的更改生效。
-
@Cold_Class 不。同一个控制器没问题。我在相同的情况下获得了多个扩展名。您可以尝试插入另一个空白内容元素并追溯您的步骤吗?
标签: typo3 extbase typo3-6.2.x