1

注文データを支払いサービスに送信するモジュールを作成する必要があります。たとえば、paypalです。次のような要素を持つフォームからデータを送信する必要があります(重複した名前に注意してください)。

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

これにより、module_form_alter()で$ formを編集するだけではフォームをオーバーライドできなくなります。これは、「ORDER_PNAME[]」が$formの重複キーになるためです。

したがって、drupalフォーム処理システム全体をバイパスする必要があります。調べてみると、uc_cart_checkout_reviewの$ form変数をプレーンなhtmlフォームデータで上書きできることがわかりました(http://api.ubercart.org/api/function/uc_cart_checkout_review/2行4を参照)。

これを行う正しい方法は何でしょうか?

4

1 に答える 1

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を使用して必要なデータを投稿できます。関連する質問:フォームの自動送信(cURL)

于 2010-04-08T10:55:52.000 に答える