Content management system 类型3 Extbase调用新操作

Content management system 类型3 Extbase调用新操作,content-management-system,typo3,extbase,Content Management System,Typo3,Extbase,我已经创建了自己的TYPO3扩展。此扩展名将显示文件列表。在后端,我可以创建新的类别。在这些类别中,我可以添加新文件。这很有效。但当我将下载按钮链接到新控制器操作时,它总是出现错误 我创建了一个新的控制器(Classes->Controller->DownloadController.php)。 该文件包含以下内容: namespace Mbdownloads\MbDownloads\Controller; class DownloadController extends \TYPO3\CMS\

我已经创建了自己的TYPO3扩展。此扩展名将显示文件列表。在后端,我可以创建新的类别。在这些类别中,我可以添加新文件。这很有效。但当我将下载按钮链接到新控制器操作时,它总是出现错误

我创建了一个新的控制器(Classes->Controller->DownloadController.php)。 该文件包含以下内容:

namespace Mbdownloads\MbDownloads\Controller;
class DownloadController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {

/**
 * action list
 *
 * @return void
 */
public function downloadAction() {
    //$files = $this->fileRepository->findAll();
     $this->view->assign("sample_var", "sample value");
    //$this->view->assign('files', $files);
}
ext\u localconf.php
中,我添加了以下几行:

    'Mbfilelist',
array(
    'Category' => 'list,show,test',
    'File' => 'show',
    'Download' => 'download',
然后我添加了以下文件:Resources/Private/Templates/Download/Download.html

最后,在show action模板中,我将流体下载链接添加到控制器:

<f:link.action action="download" controller="Download"><i class="fa fa-download"></i> File Download</f:link.action>
但现在我只得到:哎呀,发生了一个错误!:(

唯一有效的动作就是表演动作?! 类/控制器/类别控制器/显示操作

如果我在这个控制器中添加了一个动作,例如action,我将调用这些动作,同样的错误:Oops,发生了一个错误

谢谢你的帮助!
我使用TYPO3 6.2.16…

您是否在flexform中添加了您的操作

<switchableControllerActions>
    <TCEforms>
        <label>Select Options</label>
        <onChange>reload</onChange>
        <config>
            <type>select</type>
            <items>
                <numIndex index="0">
                    <numIndex index="0">...Select Item...</numIndex>
                </numIndex>
                <numIndex index="1">
                    <numIndex index="0">Download</numIndex>
                    <numIndex index="1">ControllerName->action;Download->download</numIndex>
                </numIndex>
            </items>
        </config>
    </TCEforms>
</switchableControllerActions>

选择选项
重新加载
选择
…选择项目。。。
下载
控制器名称->操作;下载->下载

添加控制器名称和操作后,还必须更新FE插件元素。

在安装工具中设置开发预设,您将获得有关错误的更多详细信息。问题之一可能是缓存。请尝试从安装工具中清除所有缓存。好的,我已清除所有缓存,不工作,然后我已激活调试选项,它显示:控制此插件不允许使用oller“Download”。我的ext\u localconf.php看起来像:\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin('Mbdownloads.”.$\u EXTKEY,'Mbfilelist',array('Category'=>'list,show','File'=>'show','Download'=>'Download',//不可缓存操作数组('Category'=>'list,show','File'=>'')尝试清除typo3temp文件夹。这应该会有帮助:)我已经删除了typo3temp文件夹中的所有文件,清除了安装工具中的所有缓存,清除了系统缓存,前端缓存…相同的:/奇怪,如果您将'Download'=>''添加到不可缓存的操作中?另外,您是否使用了“SwitchableControllerActions”?这可能是导致类似问题的原因。如果是这种情况,请尝试创建两个单独的插件。嗨,Ghansyhyam,是的,这就是问题所在!现在我在flexform中添加了操作,现在它可以工作了!
<switchableControllerActions>
    <TCEforms>
        <label>Select Options</label>
        <onChange>reload</onChange>
        <config>
            <type>select</type>
            <items>
                <numIndex index="0">
                    <numIndex index="0">...Select Item...</numIndex>
                </numIndex>
                <numIndex index="1">
                    <numIndex index="0">Download</numIndex>
                    <numIndex index="1">ControllerName->action;Download->download</numIndex>
                </numIndex>
            </items>
        </config>
    </TCEforms>
</switchableControllerActions>