2015-12-21 3 views
1

Я создал собственное расширение TYPO3. Это расширение покажет список файлов. В бэкэнд я могу создавать новые категории. В этих категориях я могу добавить новые файлы. Это работает. Но когда я свяжу кнопку загрузки с новым действием контроллера, всегда появляется ошибка.TYPO3 Extbase call new action

Я создал новый контроллер (классы -> контроллер -> 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', 

Затем я добавил следующий файл: Ресурсы/Private/Templates/Скачать/download.html

Наконец, в шаблоне действия шоу я добавляю загружаемую жидкость к контроллеру:

<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 

Но теперь я получаю только: К сожалению, произошла ошибка! :(

Единственное действие, которое работает это шоу действие ?! Классы/Controller/CategoryController/showAction

Если добавить действие в этом контроллере, exampleAction и я буду называть эти действия, та же ошибка: к сожалению, произошла ошибка!

Спасибо за помощь! Я использую TYPO3 6.2.16 ...

+0

Set Development preset in Install tool, и вы получите более подробную информацию об ошибке. Одной из проблем может быть кеш. Попробуйте очистить весь кеш от инструмента «Установка». – smitrovic

+0

Хорошо, я очистил все кеши, не работаю, тогда я активировал опции отладки, он говорит: «Этот плагин не контролирует контроллер« Загрузка ». Моя ext_localconf.php выглядит следующим образом:. \ TYPO3 \ CMS \ Extbase \ Utility \ 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

вы добавили свое действие в 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.

+0

Привет, Гансихьям, да, это была проблема! Теперь я добавил действие в flexform, и теперь он работает! –

Смежные вопросы