SocialEngine钩子不起作用

时间:2018-08-20 12:12:50

标签: hook webhooks socialengine

我创建了一个新模块,以在注册过程中添加新步骤以获取用户的电话号码。一切正常,除了注册之后,我需要获取在特定步骤中收到的电话号码并将其添加到users表中。为此,我在模块的清单文件中添加了一个钩子,如下所示,以在注册完成后触发:

<?php

return array(
    'package' =>
    array(
        'type' => 'module',
        'name' => 'advancedsmsplugin',
        'version' => '4.0.0',
        'sku' => 'com.company.sms',
        'path' => 'application/modules/Advancedsmsplugin',
        'title' => 'Advanced SMS Plugin',
        'description' => 'Advanced SMS Plugin',
        'author' => 'Company Ltd.',
        'callback' =>
        array(
            'class' => 'Engine_Package_Installer_Module',
        ),
        'actions' =>
        array(
            0 => 'install',
            1 => 'upgrade',
            2 => 'refresh',
            3 => 'enable',
            4 => 'disable',
        ),
        'directories' =>
        array(
            0 => 'application/modules/Advancedsmsplugin',
        ),
        'files' =>
        array(
            0 => 'application/languages/en/advancedsmsplugin.csv',
            1 => 'application/modules/User/Form/Signup/Phone.php',
            2 => 'application/modules/User/Plugin/Signup/Phone.php',
        ),
    ),
    'hooks' => array(
        array(
            'event' => 'onUserCreateAfter',
            'resource' => 'User_Plugin_Phone',
        ),
    ),
);
?>

我还创建了我在钩子中命名的类User_Plugin_Phone,并将其保存为application/modules/user/Plugin/Phone.php

class User_Plugin_Phone  extends Core_Plugin_Abstract {

    public function onUserCreateAfter($event) {
        echo '<script>console.log("Inside User_Plugin_Phone::onUserCreateAfter");</script>';

        echo '<script>alert("Inside User_Plugin_Phone: onUserCreateAfter");</script>';

        $payload = $event->getPayload();
    }

}

但是,日志显示该钩子根本没有被触发。我已经检查了thisthis,并认为我正确地遵循了它们。任何想法,为什么这不起作用]?

0 个答案:

没有答案