Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fluid 打字错误«;此插件不允许执行操作»;_Fluid_Extbase_Typo3 9.x - Fatal编程技术网

Fluid 打字错误«;此插件不允许执行操作»;

Fluid 打字错误«;此插件不允许执行操作»;,fluid,extbase,typo3-9.x,Fluid,Extbase,Typo3 9.x,我正在尝试对我的控制器进行Ajax调用 我在表单中放置了一个隐藏链接,如下所示: <f:link.action action="ajaxCheckEmailExistsFE" controller="Profiles" class="hidden" id="checkEmailExistsAjaxLink"></f:link.action> 然后使用jQuery的$.post方法发送我的请求

我正在尝试对我的控制器进行Ajax调用

我在表单中放置了一个隐藏链接,如下所示:

<f:link.action action="ajaxCheckEmailExistsFE" controller="Profiles" class="hidden" id="checkEmailExistsAjaxLink"></f:link.action>
然后使用jQuery的
$.post
方法发送我的请求

当调用链接时,我得到一个臭名昭著的错误

The action \"ajaxCheckEmailExistsFE\" (controller \"Profiles\") is not allowed by this plugin. Please check TYPO3\\CMS\\Extbase\\Utility\\ExtensionUtility::configurePlugin() in your ext_localconf.php
但是在
ext\u localconf.php
中明确设置了操作

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'MyVendor.MyExt',
    'MyPlugin',
    [
        'Profiles' => 'editFE, showFE, updateFE, ajaxCheckEmailExistsFE'
    ],
    // non-cacheable actions
    [
        'Profiles' => 'editFE, showFE, updateFE, ajaxCheckEmailExistsFE'
    ]
);
相同的工作流在BE模式下也能完美工作

我对updateFE操作也有同样的问题。提交表单时,我遇到了与上面相同的错误。我不得不将它添加到flexform中的可切换控制器操作中(-code>Profiles editFE;Profiles updateFE)——这同样奇怪

为什么会这样

这是打字错误39.5

[编辑]目前,我将操作添加到可切换控制器操作中,就像我对updateFE操作所做的那样。 不过,这非常麻烦,因为每次添加新操作时,我都必须在页面上设置插件操作。
如果有人有更好的解决办法,我将万分感激

的确,这很麻烦,但它也是TYPO3 extbase控制器的唯一工作方式。此检查旨在确保特定操作仅在您处于“正确”插件中时才可调用,因为您可能在一个扩展中有多个插件,然后这些插件可能会使用不同的操作。因此,最终,这个特性阻止一个插件调用一个动作,而这个动作应该只能在同一扩展名的另一个插件中调用。 如果您不需要编辑器来切换插件的操作集,您可以从flexform中删除此配置部分,这将解决编辑新操作的需要

作为一个著名的例子,我们来看看。有一个插件允许列表+详细视图,和不同的插件只允许列表或只是详细视图。因此,作为一名管理员,你必须为不同的新闻设置选择网站结构(路由和模板)


即使在TYPO3社区中,也有,因此可能在将来的版本中会得到解决。

感谢您的澄清!希望他们能在未来的版本中改变这一点。
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'MyVendor.MyExt',
    'MyPlugin',
    [
        'Profiles' => 'editFE, showFE, updateFE, ajaxCheckEmailExistsFE'
    ],
    // non-cacheable actions
    [
        'Profiles' => 'editFE, showFE, updateFE, ajaxCheckEmailExistsFE'
    ]
);