2016-03-23 3 views
0

Может ли кто-нибудь здесь знать, как использовать hook-файл processUpload_postProcessAction в моем расширении?Как использовать процесс hookUpload_postProcessAction в моем расширении?

Я создал папку крюка и добавил PHP файл с именем class.tx_lms_tcemain.php

Я добавил следующие строки в ext_localconf.php моего внутреннего абонента

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processUploadClass'][] = 'EXT:wr_dw_lms/hooks/class.tx_lms_tcemain.php:tx_lms_tcemain'; 

В файле PHP внутри папки hooks содержит следующий код:

<?php 
class tx_lms_tcemain { 
      function processUpload_postProcessAction (&$filename, t3lib_TCEmain 
$parentObject) { 
$this->addFlashMessage(
'Blog created successfully!', 
'Status', 
\TYPO3\CMS\Core\Messaging\AbstractMessage::OK,TRUE 
); 
      } 

    } 
?> 

Этот не работает. Мой код не выполняется. Может ли кто-нибудь здесь помочь мне?

+0

Какую версию TYPO3 вы используете? – Daniel

+0

версия 6.2.10 – forethought

ответ

0

Попробуйте изменить свой код в ext_localconf.php на

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processUpload'][] = 'EXT:wr_dw_lms/hooks/class.tx_lms_tcemain.php:tx_lms_tcemain'; 

Обратите внимание на "processUpload" вместо "processUploadClass".

я рекомендовал бы, однако вы используете правильные: пространства имен

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processUploadClass'][] = 
    'Vendor\WrDwLms\Hooks\Tcemain'; 

Вашего крюк может выглядеть следующим образом (поставить его в wr_dw_lms/Classes/Hooks/):

namespace Vendor\WrDwLms\Hooks; 
use TYPO3\CMS\Core\DataHandling\DataHandler 

class Tcemain { 
    public function processUpload_postProcessAction(&$filename, DataHandler $parentObject) { 
     .... 
    } 
} 

редактирования: как и для кода вы редактировали в ваш вопрос ($this->addFlashMessage()), который, конечно, не может работать, если вы не реализуете метод в своем классе.

+0

№ Он по-прежнему не работает – forethought

+0

как отлаживать, чтобы увидеть, работает ли он или нет? Можно ли использовать эхо-инструкцию? – forethought

+0

как насчет смерти («omg, я только что умер»); :) – Daniel

1

Попробуйте написать это в ext_localconf.php

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_extfilefunc.php']['processData'][] = 'Vendor\WrDwLms\Hooks\Tcemain\';

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