Создание хуков для расширения в TYPO3 6

Я пытаюсь создать хук для расширения news в TYPO3 6. Хук создается для расширения, но не из расширения.

Я создал каталог с именем Hooks в каталоге typo3conf/ext/. Мой крючок /typo3conf/ext/Hooks/tx_news_tceMain.php

class tx_news_tceMain{
function processDatamap_postProcessFieldArray($status, $table, $id, &$fieldArray, &$reference)
{
    if($table='tx_new_domain_model' && $status='new')
        mail('[email protected]','News added!','Body!');
}
}

Я не давал здесь никаких пространств имен.

Таким образом, каждый раз, когда запись новостей имеет значение saved and viewed, отправляется письмо.

Я зарегистрировал хук в news/ext_localconf.php

$GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'EXT:Hooks/class.tx_tt_news_tceMain.php:tx_tt_news_tceMain';

Это не работает! Правильно ли я делаю? Есть ли способ отладить это?


person dora    schedule 28.08.2013    source источник
comment
Я думаю, что ваша функция ловушки имеет неправильную подпись - вот пример. У него есть параметр $status, что делает ненужным использование $GLOBALS. stackoverflow.com/questions/13526428 /   -  person Jost    schedule 28.08.2013
comment
О, и вы подключаетесь к новостям расширения, а не к tt_news. Они разные!   -  person Jost    schedule 28.08.2013
comment
Я сделал необходимые изменения, это все еще не так. Есть ли способ отладить это?   -  person dora    schedule 29.08.2013
comment
Вы проверили, что функция действительно вызывается (в php есть функция die()). О, и, пожалуйста, оберните этот хук в расширение, хотя оно может состоять всего из нескольких строк кода. Расширение создается всего за несколько кликов, а структура намного чище. Следующие администраторы этого сайта будут благодарны!   -  person Michael    schedule 29.08.2013
comment
Спасибо всем за ответы. Наконец-то все заработало :)   -  person dora    schedule 02.09.2013


Ответы (1)


Невозможно просто создать каталог расширения. Вам нужно создать хотя бы ext_emcomf. И установить расширение в менеджере расширений.

В противном случае TYPO3 не найдет расширения.

person pgampe    schedule 01.09.2013
comment
Спасибо :) Это сработало, когда я делаю это из самого расширения. - person dora; 02.09.2013