Ivan Chepurnyiからのこのツイートを読んで、クライアントのサイトの OnePage チェックアウト (別名 OPC) にステップを追加する必要が生じた後、新しいことを学ぶ絶好の機会だと思いました.
私はイベント/オブザーバーの大ファンであり、それらを可能な限り使用しようとしていますが、これまで正確に OPC については、それらを使用するのはあまりエレガントではないことがわかりました。つまり、使用できる有用なイベントは (私が知る限り) ありません。
たとえば、頭のてっぺんから、変更する必要がある2つのことを考えています。イベント/オブザーバーでは複雑になりすぎますが、書き直すと非常に簡単です。
- steps :
Mage_Checkout_Block_Onepage::getSteps()
OPC を構成するさまざまなステップを定義します。どのイベントでそれを変更できるのか本当にわかりません - goto : 1 つのステップが完了すると、
Mage_Checkout_OnepageController
の対応するアクションが次のステップの htmlgoto_section
とupdate_section
データを返します。繰り返しますが、興味深いイベントは見当たりません
これは、実装する必要があるすべての詳細を実際に調べていないだけです。もっと多くの落とし穴があると思います。
javascript 部分についても同じです。チェックアウト js クラスを拡張するために使用されます。
var MyModule = Class.create(Checkout, {
//write some code here
});
しかし、もっと良い方法があるのだろうか。
Ivan のつぶやきは PSP 開発者向けであり、私は最終クライアントのために働いていることを認識していますが、何か新しいことを学びたいと思っています。