web-dev-qa-db-ja.com

注文データをプレーンテキストファイルに保存する

注文データをメールで送信できるのと同じように、注文データをdrupalインストールと同じサーバー上の特定のディレクトリにあるプレーンテキストファイルに保存します。

出来ますか?どうすればこれを達成できますか?

ファイルを保存することは、PHPではかなり単純な作業です。注文が完了したときにそれを実行したい場合は、注文に対して条件付きアクションを実行するか、注文が完了したときに呼び出されるフックの1つを使用できます。

これを行う方法について具体的な問題がある場合は、質問を絞り込む必要があります。

送信したメールを保存したい場合、これは注文情報を保持します。カスタムモジュールを作成し、hook_mail_alterを使用してメールテキストを取得できます。

/**
 * Implements hook_mail_alter().
 */
function my_module_mail_alter(&$message) {
  if ($message['id'] == 'uc_order_action-mail') {
    $message_text = $message['body'];
    // Code to save text as txt file here.
  }
}

デフォルトでは、ubercartで送信されるメールはHTMLメールなので、代わりに独自のテキストを作成することができます。

何をするにしても、Drupalまたはモジュールを変更しないでください。変更を行う独自のモジュールを作成する必要があります。Drupal開発、 開発者ガイド を読んでください。

3
googletorp