logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll

Drupal テーミング。Webform モジュールの通知メールテンプレート

17/04/2025, by Ivan

CCKTaxonomyWebform モジュールを使って作成したカタログでは、注文が行われたことを顧客とサイト管理者(マネージャー)にメールで通知できます。ただし、現在マネージャーがメールで受け取るのは、商品名、数量、顧客の詳細だけです。メールに注文された商品への直接リンクも含まれていれば、はるかに便利でしょう。

現在、注文が行われたときに受け取るメールは次のようになっています:

Submitted on Tuesday, November 16, 2010 - 15:56
Submitted by user: Admin
Responses:
Product Name: Colorful Plate
Quantity: 1
E-mail: levmyshkin2@mail.ru
Address: Omsk City
Preferences and Comments: Responses can be viewed here:
http://drupal/node/14/submission/1

メールテンプレートは webform の設定でカスタマイズできます:

Drupal webform

設定には、Email テンプレートを編集するためのセクションがあります:

email template

Default template(デフォルトテンプレート): デフォルトのテンプレートを選びます。下のテキストエリアで編集できます。

Custom template(カスタムテンプレート): Webform モジュールの templates フォルダーからテンプレートを選びます。

まず、デフォルトテンプレートの編集を見てみましょう。Token 値 を使って動的なデータを追加できます。これには、フォームフィールド、グローバルなサイト変数、ユーザー名、GET および POST セッション変数などが含まれます。

Included e-mail values(含めるメール値) で、どのフォームフィールドの値をメールに含めるかを選べます。

注文された商品へのリンクを含めるには、商品の ID を自動的に取得する、商品 ID 用のフィールドを追加する必要があります。商品 ID フィールドで、デフォルト値を %get[id] に設定します。商品注文フォームのリンクに id パラメーターを追加して、URL が次のようになるようにします:

<a href="<?php print base_path(); ?>node/14?product=<?php print drupal_get_title(); ?>&id=<?php print arg(1); ?>">Order Product</a>

次に、フィールド設定で ID フィールドの編集を無効にします――商品名フィールドについても同様にできます。

Drupal template

これで、商品が注文されると、メールに次のような行が含まれます:

Product link: http://%site/node/%value[id_product]

ここで id_product は商品 ID フィールドのマシン名であり、%site はサイトのドメイン名を表すトークンです。

こうすることで、注文確認メールに、注文された商品への直接リンクが含まれるようになります。