3

Magento を見たことがある、または使用したことがある人のために、カタログ製品の保存アクションのイベント オブザーバー クラスの次の 3 つの関数の定義をどこで見つけることができるか教えてください。

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

このようなばかげた質問をして申し訳ありませんが、私は本当に無力です。どんな助けでも大歓迎です。

最悪の部分は、上記の 3 つのメソッドが良い方法で製品オブジェクトに使用されており、それらも機能していることです。しかし、それらの定義はどこにありますか?

編集:-
わかりました、これらが「Varien_Object」によって使用されていることを理解できます。これらは、マジックメソッドの概念を使用した単純なセッター関数です。しかし、プログラム カウンターがそのような関数 (この場合は Event Observer クラス) に到達したときのコーディング フローを教えてください。

4

1 に答える 1

6

すべてのファイルを検索しても定義が見つからない場合は、PHP のマジック メソッドを使用している可能性があります。このクラスは Varien_Object から (直接または間接的に) 継承していますか? その場合、これらはオブジェクト内の配列にデータを格納する単純なセッター関数です。

これらの値を取得するには、「set」を「get」に変更するだけです。

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

これがどのように機能するかに興味がある場合は、クラス Varien_Object の内部を調べてください。ここでもメカニズムを説明しました。

于 2010-06-24T12:25:30.403 に答える