特定のコンテンツタイプのすべてのページでブロックとしてWebフォームを使用しています。フォームはすべて同じですが、送信リストで、ユーザーがどのページを表示していたかを知りたいです。私は隠しフィールドを考えました、そしてデフォルト値のはそれを%title
するでしょう、しかしそうではありません。他のトークン値をたくさん試しましたが、それらの多くは機能しますが、現在のノードの識別子を取得するものはありません。
5033 次
1 に答える
3
node
それが機能しない理由は、Webフォームトークンの要素が現在のノードページではなく、Webフォーム自体のノードを参照しているためだと思います。Webformが組み込みのトークンシステムを使用しない理由はわかりませんが、機会を逃したようです。
Webフォームモジュールを見ると、これを行う最も簡単な方法は、単一のテーブル(2つの列nid
と)を定義する簡単なカスタムモジュールを作成し、すべてのWebフォームの現在のデータを保存するようにurl
実装することだと思います。次に、とをそれぞれ使用して、URLデータを送信に再添付し、ページに表示できます。hook_webform_submission_insert()
$_SERVER['REQUEST_URI']
hook_webform_submission_load()
hook_webform_submission_render_alter()
これらのフックはすべてwebform_hooks.php
、モジュールに含まれているファイルにあり、十分に文書化されています。
于 2011-10-30T03:02:05.560 に答える