Typo3 plugin.xx.view.pluginNamespace=此插件不允许使用控制器

Typo3 plugin.xx.view.pluginNamespace=此插件不允许使用控制器,typo3,fluid,extbase,Typo3,Fluid,Extbase,我在typo36.2下启动了一个扩展,并将其迁移到typo37。现在看来,控制器/动作组合的所有链接都断开了。 在我的打字稿中,我设置了: plugin.tx_extensionname.view.pluginNamespace = tx_extensioname \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin( $_EXTKEY, 'Pi1', 'Controller1: DoSomeLogic1

我在typo36.2下启动了一个扩展,并将其迁移到typo37。现在看来,控制器/动作组合的所有链接都断开了。 在我的打字稿中,我设置了:

plugin.tx_extensionname.view.pluginNamespace = tx_extensioname
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
    $_EXTKEY,
    'Pi1',
    'Controller1: DoSomeLogic1'
);

....

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
    $_EXTKEY,
    'Pi12',
    'Controller12: DoSomeLogic12'
);
ext_tables.php
中,我设置了:

plugin.tx_extensionname.view.pluginNamespace = tx_extensioname
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
    $_EXTKEY,
    'Pi1',
    'Controller1: DoSomeLogic1'
);

....

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
    $_EXTKEY,
    'Pi12',
    'Controller12: DoSomeLogic12'
);
ext\u localconf.php
中配置插件:

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'MRU.' . $_EXTKEY,
    'Pi2',
    array(
        'Basket'    => 'list, add, remove, address, setDeliveryCountryJson',
        'Order'     => 'directorder, savedirectorder, accountorder, loginorder, saveloginorder, saveaccountorder, overview, doOrder, paymentSuccess, paymentFailure, paymentNotification, paymentCancel',
        'Payment'   => 'index'
    ),
    // non-cacheable actions
    array(
        'Basket' => 'list, add, remove, address, setDeliveryCountryJson',
        'Order'     => 'directorder, savedirectorder, accountorder, loginorder, saveloginorder, saveaccountorder, overview, doOrder, paymentSuccess, paymentFailure, paymentNotification, paymentCancel',
        'Payment'   => 'index'
    )
);
在一个页面(ID42)上,我放置了插件Pi2。篮子控制器显示为列表操作。都很好。URL如下所示:

http://www.example.com/index.php?id=42

如果我添加名称空间控制器参数,如下所示
http://www.example.com/index.php?id=42&tx_extensionname[控制器]=篮子

我立刻得到了答案

#1313855173:此插件不允许使用控制器“Basket”。请在ext\u localconf.php中检查TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin()。

例外。如果我像这样将pluginname添加到URI中

http://www.example.com/index.php?id=42&tx_extensionname_pi2[控制器]=篮子

没有抛出任何实验。但如果我要求这样的行动

http://www.example.com/index.php?id=42&tx_extensionname_pi2[控制器]=篮子和传送扩展名\u pi2[操作]=添加

这个动作永远不会被调用。调用具有第一个操作的控制器


几周前我做了更新,它只是一个开发系统,但今天我清除了所有缓存和错误occours。我是否错过了插件组合名称空间和它的注册/配置/链接?

好的,这似乎解决了我的问题:

plugin.tx_extensionname.mvc.callDefaultActionIfActionCantBeResolved = 1

使用
callDefaultActionIfActionCantBeResolved=0
或缺少上述内容,我得到了不允许的异常。将此设置为
1
控制器和操作将被调用。

您说您的插件名为“Pi2”,但您的URL参数名以
\u pi1
结尾。检查将其更改为
\u pi2
时发生的情况。抱歉,此处书写错误。我用pi2调用它,出现了错误。在上面的帖子中修复了
registerPlugin
configurePlugin
中插件名称之间的差异,这也是一个输入错误?是的。在我的环境中是平等的。这些插件在6.2LTS下工作了6个月,效果非常好。。。