【问题标题】:Controlling UberCart checkout pane hook priorities控制 UberCart 结帐窗格挂钩优先级
【发布时间】:2011-01-09 14:48:27
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: drupal hook ubercart


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      如果我弄错了,请道歉。

      【讨论】:

      • 如果对第三篇文章中提出的问题有答案,那可能会起作用 - 如何禁用原始窗格?帖子#2暗示了这种可能性,但没有说明如何去做。我尝试了类似 hook_checkout_pane_alter 的方法,但无法成功。我不确定它是否存在,或者它只是张贴者认为应该存在的东西。
      • 您可以在“结帐设置”中启用或禁用结帐窗格ubercart.org/docs/user/8396/checkout_settings >。顺便说一句:无需更改模块权重,您可以使用窗格权重来做到这一点。
      • 谢谢!我查看了结帐设置,但没有看到结帐窗格子菜单。
      • 所以我应该让我的评论成为答案(你可以接受)吗?
      猜你喜欢
      • 1970-01-01
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 2020-12-19
      • 1970-01-01
      相关资源
      最近更新 更多