无法附加到zend框架2上的zfcUser登录事件

时间:2014-09-10 08:26:56

标签: login zend-framework2 zfcuser

我想附加 zfcUser 上的登录事件

我可以附加其他 zfcUser事件,如注册,更改电子邮件,更改密码;这些事件的触发器保存在

ZfcUser\Service\User

即:

public function register(array $data)
{
   $this->getEventManager()->trigger(__FUNCTION__, $this, array('user' => $user, 'form' => $form));
}

但是,我无法找到登录事件的触发器。实际上,我甚至找不到zfcUser登录事件的处理方法。

是否有登录事件的触发器;如果没有,我将如何重写zfcusers登录事件,以便我可以附加一个触发器。

下面是我如何附加注册事件(我想对登录事件做同样的事情);

class Module
{
public function onBootstrap(MVCEvent $e)
    {
        $eventManager = $e->getApplication()->getEventManager();
        $em           = $eventManager->getSharedManager();
        $em->attach(
                'ZfcUser\Form\RegisterFilter',
                'init',
                function($e)
                {
                    /* @var $form \ZfcUser\Form\Register */
                    $form = $e->getTarget();

                    $form->add(
                            array(
                                    'name' => 'gender',
                                    'type' => 'Zend\Form\Element\Checkbox',
                                    'options' => array(
                                            'label' => 'gender',
                                            'checked_value' => female,
                                            'unchecked_value' => male,
                                    ),
                            )
                    );
                   }

}

2 个答案:

答案 0 :(得分:0)

您正尝试将表单元素附加到ZfcUser \ Form \ Register的 InputFilter (请参阅: ZfcUser \ Form \ RegisterFilter vs ZfcUser \ Form \注册的)。

将事件附加到'ZfcUser\Form\Register'以更改表单

将事件附加到'ZfcUser\Form\RegisterFilter'以更改 InputFilter

答案 1 :(得分:0)