4

Drupal Forms APIフォームの検証機能で、ユーザーのクレジットカードに請求しようとしています。成功したら、送信機能に参照番号を渡して、そこで使用できるようにしたいと思います。これを行うための最良の方法は何ですか?

4

1 に答える 1

3

ドキュメントには次のように書かれています。

Drupal 6 以降では、「#foo」がフォーム API の他の内部プロパティと競合しない限り、任意の変数を代わりに $form['#foo'] に格納することもできます。

したがって、次のようなことができます。

function form($form_state) {
//in your form definition function:
$form['#reference_number'] = 0;
}

function form_validate($form, &$form_state) {
  //try to charge card ...
  if ($card_charged) {
    $form_state['values']['#reference_number'] = $reference_number;
  }
}

function submit_form($form, &$form_state) {
  if (isset($form_state['values']['#reference_number'])) {
    $reference_number = $form_state['values']['#reference_number'];
    //do whatever you want
  }
}
于 2009-07-30T18:36:50.833 に答える