0

私は ubercart 2.x で Drupal 6.15 を使用しており、ubercart の hook_checkout_pane() を実装してデフォルトの uc_cart_checkout_pane() をオーバーライドしようとしています。私の目標は、デフォルトのチェックアウト ペインの一部 (顧客情報と注文コメント) を無効にすることです。

関数 my_module_checkout_pane() を my_module.module に作成しましたが、呼び出されますが、uc_cart バージョンは実際にレンダリングされるものを生成しているようです。

両方の関数が呼び出される理由を理解しており、システム テーブル内のモジュールの重みを変更することでそれらが呼び出される順序を変更できますが、そうしてもページの結果には影響がないようです。my_module の関数が最初に呼び出されるか、2 番目に呼び出されるかに関係なく、uc_cart バージョンがレンダリングされます。関数をページに影響させる唯一の方法は、実際に uc_cart_checkout_pane() を変更して出力を返さないようにすることですが、それは「良い」解決策ではありません。

Drupal が uc_carts よりも私のフック実装を優先するようにするために何かをする必要がある他の場所はありますか? あるいは、これを達成する別の方法はありますか?

4

2 に答える 2

1

「チェックアウト設定」でチェックアウトペインを有効または無効にできます。

ところで:モジュールの重みを変更する必要はありません。ペインの重みでこれを行うことができます。

于 2010-01-27T06:02:11.640 に答える
1

私の誤解でなければ、hook_checkout_pane は新しいチェックアウト ペインを作成するためのものであり、デフォルトのものをオーバーライドするためのものではありません。hook_checkout_pane を使用して独自のペインを作成し、代わりにそれを使用するようですか? http://www.ubercart.org/forum/development/11698/alter_checkout_panesを参照してください。

間違っていたらすみません。

于 2010-01-26T17:35:04.767 に答える