Typo3 plugin.xx.view.pluginNamespace=此插件不允许使用控制器
我在typo36.2下启动了一个扩展,并将其迁移到typo37。现在看来,控制器/动作组合的所有链接都断开了。 在我的打字稿中,我设置了: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
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个月,效果非常好。。。