2010-01-26 34 views
0

我使用Drupal 6.15与ubercart 2.x和我试图实现ubercart的hook_checkout_pane()覆盖其默认的uc_cart_checkout_pane()。我的目标是禁用一些默认结帐窗格 - 客户信息和订单评论。控制UberCart结帐窗格钩优先

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

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

是否有其他地方我需要做一些事情,使Drupal支持我的钩子实现超过uc_carts?或者,是否有另一种方法来完成这个?

回答

1

您可以启用或禁用“Checkout settings”中的结帐窗格。

btw:无需更改模块权重,您可以使用窗格权重来执行此操作。

1

如果我没有弄错,hook_checkout_pane用于创建新的结帐窗格,而不是覆盖默认窗口。好像你会使用hook_checkout_pane来创建自己的窗格,然后使用它呢?见http://www.ubercart.org/forum/development/11698/alter_checkout_panes

道歉,如果我错了。

+0

如果在第三篇文章中提出的问题有答案,那么这可能会奏效 - 如何禁用原始窗格? Post#2暗示了可能性,但没有说明如何去做。我尝试了一些类似hook_checkout_pane_alter的方法,但无法完成这项工作。我不确定它是否存在,或者只是海报认为应该存在的东西。 – ZorroDeLaArena 2010-01-26 17:48:50

+0

您可以在“结帐设置”中启用或禁用结帐窗格。顺便说一句:不需要改变模块的权重,你可以用窗格权重来做到这一点。 – 2010-01-26 18:02:28

+0

谢谢!我查看了结帐设置,但没有看到结帐窗格子菜单。 – ZorroDeLaArena 2010-01-26 18:12:46