【问题标题】:Cannot find Function Definition of an Event Observer class in Magento在 Magento 中找不到事件观察器类的函数定义
【发布时间】:2010-06-24 11:20:02
【问题描述】:

对于任何看过/使用过 Magento 的人,你能告诉我在哪里可以找到目录产品的保存操作的 Event Observer 类的以下 3 个函数定义:-

  1. setBundleOptionsData()
  2. setBundleSelectionsData()
  3. setCanSaveBundleSelections()

请原谅我问了这么愚蠢的问题,但我真的很无奈。 任何帮助是极大的赞赏。

最糟糕的是,以上 3 种方法以一种很好的方式用于产品对象,并且它们也可以正常工作。但是它们的定义在哪里?

编辑:-
好的,我可以理解这些是“Varien_Object”使用的,并且这些是使用魔术方法概念的简单setter函数。但是有人可以告诉编码流程是什么,当程序计数器到达这样的功能时,在这种情况下是在事件观察器类中?

【问题讨论】:

    标签: php function magento magic-methods


    【解决方案1】:

    如果您对所有文件进行了搜索,但找不到定义,那么这些文件很可能使用 PHP 的 magic methods。此类是否(直接或间接)从 Varien_Object 继承?如果是这样,那么这些是简单的 setter 函数,将数据存储在对象内的数组中。

    要取回这些值,您只需将“set”更改为“get”:

    $this->setBundleOptionsData('whatever');
    echo $this->getBundleOptionsData(); //Returns 'whatever'
    

    如果您对它的工作原理感兴趣,请查看 Varien_Object 类。我还描述了here的机制。

    【讨论】:

    • 感谢您提供这样的信息。但我还有一些疑问。该类间接继承自 Varien_Object。
    • 我真的必须承认你的回答令人惊叹。但如果可能的话,请说出你提到的这一点是否真的发生了。
    • 你也想试试 var_dump($this->getData()) 或 $this->getData('bundle_options_data')
    猜你喜欢
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多