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