0

我将 Drupal 6.15 与 ubercart 2.x 一起使用,我正在尝试实现 ubercart 的 hook_checkout_pane() 以覆盖其默认的 uc_cart_checkout_pane()。我的目标是禁用一些默认的结帐窗格——客户信息和订单评论。

我在 my_module.module 中创建了一个函数 my_module_checkout_pane() 并且它确实被调用了,但是 uc_cart 版本似乎正在生成实际呈现的内容。

我理解为什么这两个函数都会被调用,并且我可以通过修改系统表中模块的权重来更改它们被调用的顺序,但这样做似乎不会影响页面上的最终结果。无论 my_module 的函数是第一次调用还是第二次调用,都以 uc_cart 版本呈现。我可以让我的函数影响页面的唯一方法是实际更改 uc_cart_checkout_pane() 以便它不返回任何输出,但这不是一个“好”的解决方案。

还有其他地方我需要做些什么来让 Drupal 支持我的钩子实现而不是 uc_carts'?或者,是否有另一种方法来实现这一点?

4

2 回答 2

1

如果我没记错的话, hook_checkout_pane 用于创建新的结帐窗格,而不是覆盖默认窗格。似乎您会使用 hook_checkout_pane 来制作自己的窗格,然后改用它?见http://www.ubercart.org/forum/development/11698/alter_checkout_panes

抱歉,如果我弄错了。

于 2010-01-26T17:35:04.767 回答
1

您可以在“结帐设置”中启用或禁用结帐窗格。

顺便说一句:无需更改模块权重,您可以使用窗格权重来做到这一点。

于 2010-01-27T06:02:11.640 回答