使用ubercart中的额外字段添加到购物车表单

时间:2014-02-26 00:45:40

标签: drupal drupal-7 ubercart drupal-hooks

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

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

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

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

enter image description here

以下是添加内容页面中的内容:

enter image description here



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

enter image description here

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

我的想法是

  • 使用 hook_uc_add_to_cart
  • 然后处理此房型值,
  • 然后计算该房型的价格,
  • 然后更新购物车项目的价格,
  • 然后重定向到购物车页面。

但hook_uc_add_to_cart仅提供数量,节点ID和数据变量。 这些都没有给我房型隐藏字段的价值。


如何在我的uc_add_to_cart钩子中使用隐藏的字段?

1 个答案:

答案 0 :(得分:0)

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

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

问候。