2014-02-26 33 views
0

我試圖在Drupal 7.26網站中實現酒店預訂功能。客戶將從列表頁面中選擇酒店,然後他們將選擇酒店內的房間。在ubercart中使用額外的字段添加到購物車表單

我決定使用UberCart 3作爲我的預訂機制。

首先我實施了'酒店'作爲Ubercart產品。但是一間酒店連接到房間,每種房間都有不同的價格。使用產品屬性,我將房間類型設計爲屬性,每個房間類型都有不同的價格。目前爲止這麼好,但我無法選擇任何單個產品屬性的多個實例,因此我放棄使用產品屬性。

然後我決定採用這種不同的方法。我決定使用現場組將房間類型信息保留在酒店產品類型中。

enter image description here

這裏是它的外觀在添加內容頁:

enter image description here



使用一些視圖模板,我設法這一下我的預訂頁面。這看起來正是我的客戶想要的(除了css之外)。我正在預訂房間的多個實例。

enter image description here

然而,當我點擊任何「添加到購物車」按鈕,Drupal沒有檢測到選擇哪個房間類型。我修改了添加到購物車表單的渲染標記(使用tpl文件),併爲每個添加到購物車按鈕添加了一個名爲roomtype的隱藏字段。所以對於第一個按鈕,roomtype ='double',對於第二個按鈕roomtype ='single'。

我的想法是

  • 使用hook_uc_add_to_cart
  • 再處理這個roomtype值,
  • 然後計算該roomtype的價格,
  • 然後更新車的價格項目,
  • 然後重定向到購物車頁面。

但是hook_uc_add_to_cart只提供數量,節點id和數據變量。 這些都沒有給我房間隱藏領域的價值。


如何在我的uc_add_to_cart掛鉤中使用隱藏字段?

回答

相關問題