我想附加 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,
),
)
);
}
}
答案 0 :(得分:0)
您正尝试将表单元素附加到ZfcUser \ Form \ Register的 InputFilter (请参阅: ZfcUser \ Form \ RegisterFilter vs ZfcUser \ Form \注册的)。
将事件附加到'ZfcUser\Form\Register'
以更改表单
将事件附加到'ZfcUser\Form\RegisterFilter'
以更改 InputFilter
答案 1 :(得分:0)
下面: