TYPO3 Extbase调用新动作

TYPO3 Extbase call new action

我已经创建了自己的 TYPO3 扩展。此扩展程序将显示文件列表。在后端我可以创建新类别。在这些类别中,我可以添加新文件。这行得通。但是当我将link下载按钮到新的控制器动作时,它总是出现错误。

我创建了一个新控制器(类 -> 控制器 -> 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_localconf.php 我添加了以下几行:

    'Mbfilelist',
array(
    'Category' => 'list,show,test',
    'File' => 'show',
    'Download' => 'download',

然后我添加了以下文件:Resources/Private/Templates/Download/Download.html

最后在显示操作模板中,我将流体下载link 添加到控制器:

<f:link.action action="download" controller="Download"><i class="fa fa-download"></i> File Download</f:link.action>

Url:

index.php?id=217&tx_mbdownloads_mbfilelist%5Baction%5D=download&tx_mbdownloads_mbfilelist%5Bcontroller%5D=Download&cHash=c1ee54cc5ccaedbeeeeef098a2029e5c

但现在我只得到:糟糕,发生错误! :(

唯一有效的动作是表演动作?! Classes/Controller/CategoryController/showAction

如果我在此控制器中添加一个动作,exampleAction 并且我将调用这些动作,同样的错误:糟糕,发生错误!

感谢帮助! 我使用 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 插件元素。