2015-12-21 37 views
1

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

我创建了一个新的控制器(类 - >控制器 - > 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', 

然后,我添加以下文件:资源/私有/模板/下载/ Download.html

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

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

网址:

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

但现在得到的只有我:哎呀,发生错误! :(

其中工程唯一的动作是表演动作? 类/控制器/ CategoryController /的showAction

如果我在这个控制器中添加一个动作,exampleAction我会打电话的动作,同样的错误:糟糕,出现错误!

感谢您的帮助! 我用TYPO3 6.2.16 ...

+0

在安装工具中设置开发预设,您将获得有关错误的更多详细信息。其中一个问题可能是缓存。尝试清除安装工具中的所有缓存。 – smitrovic

+0

好吧,我清除了所有的缓存,不工作,然后我激活了调试选项,它说:控制器“下载”不允许通过这个插件。我ext_localconf.php看起来像:\ TYPO3 \ CMS \ Extbase \公用\ ExtensionUtility :: configurePlugin( \t 'Mbdownloads' $ _EXTKEY, \t 'Mbfilelist', \t阵列( \t \t '分类'=>'列表显示”, \t \t '文件'=> '秀', \t \t '下载'=> '下载', \t \t \t), \t //不可缓存的操作 \t阵列( \t \t '分类'=> '名单,秀', \t \t '文件'=> '', \t \t \t) –

+0

尝试清除typo3temp文件夹。它应该帮助:) – smitrovic

回答

1

你在柔性成型添加你的行动?

<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插件元素。

+0

嗨Ghansyhyam,是的,这是问题!现在我在flexform中添加了这个动作,现在它可以工作了! –