web-dev-qa-db-ja.com

Webフォームには、送信元のURLをメールに含めることができますか?

分類ページのブロックにたくさんのウェブフォームがあります。結果の電子メールの受信者は、ユーザーがクエリを作成したときにユーザーがどの分類ページにアクセスしていたかを知っていると役立ちます。非表示フィールドで%getトークンを使用しますか?もしそうなら、どの[キー]値が完全な(pathauto)URLを返しますか? Webフォームは、認証されていないユーザーに対してのみ%get [key]および%post [key]を使用できます。

4
Kirk Twist

これを行うには、非表示フィールドの値として_%server_トークンを使用します。より正確には、_http://%server[SERVER_NAME]%server[REQUEST_URI]_は完全なURLを取得します(パスエイリアスも保持されます)。 _%server_トークンで使用できるオプションの完全なリストについては、 manual を確認してください。

更新:

_%server_トークンは、一部の値に潜在的なセキュリティ/プライバシーの問題があるため、Webformバージョン2.8以降、認証されたユーザーに対してのみ機能します。電子メールのURLのみが必要なため、適切なテーマバージョンの<?php print url($_GET['q'], array('absolute' => TRUE)); ?>を_webform-mail.tpl.php_ファイル(または_webform-mail-[node id here].tpl.php_)のコピー内に配置することをお勧めします。

2
Madis

Drupal 7 + Webform 7.x-3.18を使用している場合は、非表示フィールドをWebフォームに追加できます。

次に、非表示のタイプでオプション「安全な値(すべてのトークンの使用を許可)」を選択できます

これにより、%server [SERVER_NAME]や%server [REQUEST_URI]などのすべてのトークンタイプを使用できます。

匿名ユーザーでテストされ、正常に動作しています。

2
almoraleslopez

単にyoursite.com/%get[q]を使用できます。このトークンは、現在のパスを保持するdrupalの特別なリクエストパラメータ用です

2
redben

Webフォームのトークンサポートが必要な場合は、 webform patched モジュールを使用しました。これは、トークンをサポートするためにすでにパッチが適用されているwebformモジュールです。したがって、非表示フィールドでトークン[current-page:url]を使用できます。これをブロックWebフォームで試したことはありませんが、機能しない理由はわかりません。

0
Perisdr