首页 > 解决方案 > JavaScript 不在 SocialEngine 挂钩中执行

问题描述

我曾经使用 Javascript 警报作为调试我的 PHP 代码的一种方式。但是,我刚刚意识到它并不总是被执行。例如,当您注册要在注册过程之后运行的挂钩时,JavaScript 日志记录将无法在挂钩中工作。

首先,在模块 manifest.php 文件中定义了 hook 方法:

'hooks' => [ 
    [ 
        'event' => 'onUserCreateAfter', 
        'resource' => 'User_Plugin_Test', 
    ], 
],

然后,onUserCreateAfter必须在 User_Plugin_Test 类中定义:

 class User_Plugin_Test {

//put your code here

public function onUserCreateAfter($event) {
    $log = Zend_Registry::get('Zend_Log');
    $userId = Engine_Api::_()->user()->getViewer()->getIdentity();
    $log->log('User_Plugin_Test->onUserCreateAfter: User id: ' . $userId, Zend_Log::ERR);
    echo '<script>alert("User_Plugin_Test->onUserCreateAfter");</script>';
}

}

但是,Zend 日志有效。为什么 JavaScript 不在钩子方法中运行。

标签: javascriptphpzend-frameworksocialengine

解决方案


推荐阅读