Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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
Php 此插件不允许使用该控制器_Php_Typo3_Typo3 6.2.x - Fatal编程技术网

Php 此插件不允许使用该控制器

Php 此插件不允许使用该控制器,php,typo3,typo3-6.2.x,Php,Typo3,Typo3 6.2.x,我尝试添加一个新的控制器,它有一个名为confirmAgbAction的操作 <?php namespace Eddcapone\MyExtension\Controller; /** * CustomController */ class CustomController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController { /** * action list * * @r

我尝试添加一个新的控制器,它有一个名为
confirmAgbAction
的操作

<?php
namespace Eddcapone\MyExtension\Controller;

/**
 * CustomController
 */
class CustomController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController 
{

    /**
     * action list
     *
     * @return void
     */
    public function confirmAgbAction()
    {
        echo "<p>HALLO WELT</p>";    
    }
}
以下是我在模板中调用操作的方式:

<f:link.action controller="Custom" action="confirmAgb" pluginName="Myfilelist" class="mbButton">Download</f:link.action>
下载
然而,我总是得到:


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

您应该绝对避免在configurePlugin和其他Extbase上下文中使用$\u EXTKEY。Extbase需要
供应商。ExtensionName
格式-$\u EXTKEY采用
小写字母
格式。将这些参数定义为硬编码值可以解决为给定插件解析控制器的问题


准确地说:在命令中使用
Eddcapone.Myextension
作为扩展名参数来注册/配置插件。

有两种常见的错误:

  • 您可以使用flexform来嵌入插件。您没有将
    Custom->confirmAgb
    添加到flexform中允许的调用中,或者您添加了它但没有更新插件(插件配置仅在保存插件/tt_内容元素时更新)
  • 页面上有两个插件,错误由另一个插件触发,因为不允许使用
    controller->action
    组合
  • PS:尝试将其添加到TS(setup.txt)中,如果找不到给定的操作,插件现在应该选择默认操作:

    plugin.tx_yourextensionmvc.callDefaultActionIfActionCantBeResolved = 1
    

    可能会有更罕见的病例

    谢谢你的信息!好的,我已经将整个扩展中出现的
    $\u EXTKEY
    更改为
    MyExtension
    ,但我仍然得到:
    \1313855173:此插件不允许使用控制器“自定义”。请检查ext_localconf.php中是否存在TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin()。
    因此问题一定出在其他地方。请更新以下内容:原因是以前使用过switchableControllerActions,此外,在从架构中删除包含switchableControllerActions值的内容元素记录后,重新使用这些记录。清理记录字段解决了这个问题。一开始最愚蠢的问题是:您是否已使用“清除所有缓存”按钮清除了安装工具中的缓存?从安装工具中清除缓存否这不是一个愚蠢的问题;)是的,我清除了所有3个缓存,甚至清除了
    typo3temp
    你是对的,我使用了两个插件,问题是因为flexform。typo3 slack上的开发人员建议我不要使用
    switchablecontrolleractions
    ,因此我将其从flexforms中删除。这并没有帮助,只是在我还保存了plugin/tt_内容之后。谢谢没有必要删除flexform功能,我很确定您也可以在Typo3 6.2.x中进行变通。尝试将此添加到您的extension setup.txt:plugin.tx_yourextension{mvc.callDefaultActionIfActionCantBeResolved=1}虽然这些都是可能的,但出现问题的选项肯定不止这两个。这是有很多不同原因的错误之一。
    plugin.tx_yourextensionmvc.callDefaultActionIfActionCantBeResolved = 1