在Magento,究竟什么是观察者?它有什么作用?

时间:2012-10-17 05:45:10

标签: magento magento-1.7

我是一名非常新手的程序员,他发现自己的任务是学习如何为Magento编程。所以请原谅我提出这样一个基本问题,但谷歌似乎没有关于法师的大量初级内容。

有人可以向我解释究竟是什么观察者吗?它有什么作用?它可以用于什么?

如果有人可以给我一个超级101解释(不假设先前的知识),你将成为我的新英雄。感谢。

2 个答案:

答案 0 :(得分:3)

您可以将事件观察者视为触发器。 一旦设置了事件观察者,例如,您可以设置观察者beforeafter一个事件,即,您可以添加一个事件,该事件将在用户将产品添加到购物车或添加之前立即执行产品到购物车。

在此事件观察者中,您可以编写代码来自定义数据,该数据要么传递给发生事件(之前),要么是已发生事件的输出(之后)

参考:http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_method

活动:

在Magento中,您可以将Controller Action视为事件,例如 CartController 中的 addAction 是一个事件。

观察员:

如名称中所述,观察者观察何时发生此操作(在我们的例子中是CartController中的addAction)并在调用此addAction之前或之后调用函数。 您可以在此obeserver中添加自定义代码以进行自定义。

答案 1 :(得分:1)

观察者是您实施事件时需要编写的一段代码。

您的问题是:什么是活动?

将事件视为“广播操作”,您可以拦截该事件以将特定代码添加到特定操作。 在magento关键功能上发生了各种事件。例如,您可以拦截: - 保存产品之后或之前 - 产品已添加到购物车中 - 等等

这只是magento核心开发人员为您插件而打开的门户..

在magento中,您有几种方法可以修改标准fucntionnality的行为: - 你可以重写类(config.xml中的标签) - 当事件可用于您要修改的功能时,您可以使用事件

要理解,请深入了解代码并在app / code / core中搜索“dispatchEvent”...