你如何在Magento的AccountController中添加一个步骤?

时间:2011-03-30 21:33:22

标签: zend-framework magento controller override

我需要向Magento模板添加跟踪代码,非常简单,但是当用户注册时我在确认页面上需要它,但是当它发生时,他被重定向到索引页面,就像任何登录用户一样。

我认为通过覆盖帐户控制器来添加一个步骤,因为没有这样的配置(或者我无法找到它),但即使它只是一个方法覆盖confirmAction来处理重定向,它也不会看起来是最好的方式,因为这个重定向会根据几件事情多次调用并添加会话消息。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我知道你能做到这一点的唯一真正方法就是挂钩controller_action_postdispatch_customer_account_createPost事件。如果您不知道如何操作,请查看this Wiki page

在你的观察者中,做这样的事情:

// Store a simple boolean that flags this user as just having registered
Mage::getSingleton('core/session')->setUserJustRegistered(true);

然后,在任何页脚模板中,执行以下操作:

<?php if (Mage::getSingleton('core/session')->getUserJustRegistered()): ?>
    <!-- INSERT TRACKING CODE HERE -->
    <?php Mage::getSingleton('core/session')->setUserJustRegistered(null); ?>
<?php endif; ?>

请注意,我们会将会话变量重置为null,以便您的跟踪代码不会在每个页面上触发。