前回から、Magentoのエクステンションを作る際のテクニックを解説しています。前回はPluginとProxyをご紹介しました。今回はMagentoに用意されている以下の3つの仕組みについてご説明しましょう。 Observer Cron コマンドラインツール Observer Observerは、Magento1の頃から存在している仕組みです。予め定義されている箇所(イベントといいます)に処理が到達すると、その箇所に関連付けられている処理が自動的に実行される、という仕組みです。前回とりあげたPluginと異なるのは、Pluginはpublicメソッドしか対象にしていないのに対し、Observerは定義さえ書かれていればprivateやprotectedメソッドも対象にできるという点です。また、Pluginはそのメソッドに入ってくる値やメソッドが返す値を改変することが目的ですが、Observerは「何らかの処理」を行うことが目的です。実装する内容自体には特に制限はありません。 イベントが定義されている箇所 イベントはMagentoの標準実装だけで、100箇所以上に定義されています。もちろん自分でも定義することはできますが、最初は標準に用意されているものから理解していくことをおすすめします。 イベントを探す際は、Magentoのコードを「eventManager->dispatch」で検索すると比較的簡単に探せます。検索結果をみていただくとわかりますが、以下のようにイベント名と渡す値が定義されています。 $this->_eventManager->dispatch('model_load_after', ['object'
↧