2010-04-07 61 views
1

我需要編寫一個模塊,將訂單數據發送到epayment服務,類似於paypal。他們需要從一個形式,看起來是這樣的(注意重複的名稱)的元素所提交的數據:如何覆蓋ubercart中的review_cart形式

<input name="ORDER_PNAME[]" type="hidden" value="CD Player"> 
<input name="ORDER_PNAME[]" type="hidden" value="Geanta voiaj 2L"> 

這使得它無法覆蓋的形式通過簡單的編輯在module_form_alter $形式(),因爲「 ORDER_PNAME []「將是$ form中的重複鍵。

所以我需要繞過整個drupal表單處理系統。我看了一下,發現我可以用純html表單數據覆蓋uc_cart_checkout_review中的$ form變量(請參見http://api.ubercart.org/api/function/uc_cart_checkout_review/2第4行)。

這樣做的正確方法是什麼?

回答

0

在一個變通的權利:
您可以添加使用標記元素所需的表單元素:

$form['your_name'] = array(
    '#type' => 'markup', 
    '#value' => '<input name="ORDER_PNAME[]" type="hidden" value="CD Player"> 
       <input name="ORDER_PNAME[]" type="hidden" value="Geanta voiaj 2L">', 
); 


如果您不需要用戶重定向到電子支付服務頁面,只需發送數據,就可以使用curl發佈必要的數據。一個相關的問題:Auto Submitting a form (cURL)

+0

謝謝,標記的想法很好。 – 2010-04-09 11:27:36