Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在TYPO3 6中创建扩展的挂钩_Php_Hook_Typo3_Tt News - Fatal编程技术网

Php 在TYPO3 6中创建扩展的挂钩

Php 在TYPO3 6中创建扩展的挂钩,php,hook,typo3,tt-news,Php,Hook,Typo3,Tt News,我正在尝试在typo36中创建一个到新闻扩展的钩子。钩子是为扩展创建的,但不是从扩展创建的 我在typo3conf/ext/目录中创建了一个名为Hooks的目录。我的钩子是/typo3conf/ext/Hooks/tx\u news\u tceMain.php class tx_news_tceMain{ function processDatamap_postProcessFieldArray($status, $table, $id, &$fieldArray, &$refe

我正在尝试在typo36中创建一个到
新闻
扩展的钩子。钩子是为扩展创建的,但不是从扩展创建的

我在
typo3conf/ext/
目录中创建了一个名为
Hooks
的目录。我的钩子是
/typo3conf/ext/Hooks/tx\u news\u tceMain.php

class tx_news_tceMain{
function processDatamap_postProcessFieldArray($status, $table, $id, &$fieldArray, &$reference)
{
    if($table='tx_new_domain_model' && $status='new')
        mail('email@me.com','News added!','Body!');
}
}
我没有在这里给出任何名称空间

因此,基本上每次保存和查看新闻记录时,都会发送一封邮件

我在
news/ext\u 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';

这不管用!我做得对吗?有什么方法可以调试这个吗

不能只创建扩展目录。您需要至少创建一个
ext\u emcomf
。并在扩展管理器中安装扩展


否则,TYPO3将找不到扩展。

无法仅创建扩展目录。您需要至少创建一个
ext\u emcomf
。并在扩展管理器中安装扩展


否则,TYPO3将找不到扩展。

我认为您的钩子函数具有错误的签名-下面是一个示例。它有一个$status参数,这使得不需要使用$GLOBALS。哦,你可以用扩展名“新闻”,而不是“tt_新闻”。他们是不同的!我做了必要的改变,但仍然没有。有什么方法可以调试它吗?您是否检查过函数是否被实际调用(php中有一个
die()
函数)。哦,请将这个钩子包装在一个扩展中,尽管它可能只有这几行代码。只需很少的点击就可以创建一个扩展,而且结构更干净。本网站的下列管理员将不胜感激!谢谢大家的回复。它终于开始工作了:)我认为你的钩子函数的签名是错误的-下面是一个例子。它有一个$status参数,这使得不需要使用$GLOBALS。哦,你可以用扩展名“新闻”,而不是“tt_新闻”。他们是不同的!我做了必要的改变,但仍然没有。有什么方法可以调试它吗?您是否检查过函数是否被实际调用(php中有一个
die()
函数)。哦,请将这个钩子包装在一个扩展中,尽管它可能只有这几行代码。只需很少的点击就可以创建一个扩展,而且结构更干净。本网站的下列管理员将不胜感激!谢谢大家的回复。它终于起作用了:)谢谢:)当我从一个扩展本身做它时,它起作用了。谢谢:)当我从一个扩展本身做它时,它起作用了。