0

我正在尝试在Drupal 7.26网站中实现酒店预订功能。客户将从列表页面中选择酒店,然后他们将选择酒店内的房间。

我决定使用UberCart 3作为我的预订机制。

首先,我将“Hotel”实现为 Ubercart 产品。但是酒店是和房间相连的,每一种房间的价格都不一样。使用产品属性,我将房间类型设计为属性,每种房间类型都有不同的价格。到目前为止一切顺利,但我无法选择任何单个产品属性的多个实例,所以我放弃了使用产品属性。

然后我决定采用这种不同的方法。我决定使用字段组将房间类型信息保留在酒店产品类型中。

在此处输入图像描述

以下是它在添加内容页面中的外观:

在此处输入图像描述



使用一些视图模板,我在我的预订页面中管理了这个外观。这种外观正是我的客户想要的(无论如何除了css)。我要预订一个房间的多个实例。

在此处输入图像描述

但是,当我单击任何“添加到购物车”按钮时,Drupal 不会检测到选择了哪种房间类型。我修改了添加到购物车表单的渲染标记(使用 tpl 文件),并为每个添加到购物车按钮添加了一个名为 roomtype 的隐藏字段。所以对于第一个按钮,roomtype = 'double',对于第二个按钮,roomtype = 'single'。

我的想法是

  • 使用hook_uc_add_to_cart
  • 然后处理这个房间类型值,并且
  • 然后计算该房型的价格,
  • 然后更新购物车商品的价格,
  • 然后重定向到购物车页面。

但是 hook_uc_add_to_cart 只提供数量、节点 ID 和数据变量。这些都没有给我房间类型隐藏字段的值。


如何使用 uc_add_to_cart 挂钩中的隐藏字段?

4

1 回答 1

0

试试这个: http ://drupaldeveloper.in/codelet/drupal-add-product-field-cart-ubercart

此代码具有类似的解决方案。

问候。

于 2014-02-26T12:00:02.130 回答