web-dev-qa-db-ja.com

Webフォーム確認メッセージを変更するためのフックはありますか?

Drupal 7 webformsを使用して、フォームを送信したばかりの誰かに表示される送信確認メッセージを変更できるhookはありますか?

enter image description here

私の考えは、このテキスト領域内にテキストプレースホルダーを置き、str_replace送信自体に基づいて出力を更新します。

2
Rick

提出確認メッセージで提出値を使用する解決策は、 Webform Tokens module を使用することです。

そして、あなたが尋ねた別の解決策は hook_form_alter カスタム送信ハンドラを追加することです(あなたがwebformのデフォルトの前に実行することを確認してください)送信した文字列をあなたが望むものに変更してください。

2
Yusef

@zhilevanが言ったように、プレースホルダーにはhook_form_alterを使用でき、str_replaceにはhook_template_preprocessを実装できます。

例を示します。

function my_module_preprocess_webform_confirmation(&$vars) {

    $confirmation = check_markup($vars['node']->webform['confirmation'], $vars['node']->webform['confirmation_format'], '', TRUE);
    module_load_include('inc', 'webform', 'includes/webform.submissions');
    $submission = webform_get_submission($vars['node']->nid, $vars['sid']);
    $confirmation = _webform_filter_values($confirmation, $vars['node'], $submission, NULL, FALSE, TRUE);

   // Strip out empty tags added by WYSIWYG editors if needed.
   $vars['confirmation_message'] = strlen(trim(strip_tags($confirmation))) ? $confirmation : '';

}

ソース 確認メッセージでのWebformトークンのサポート

tplファイルオプションを確認することもできます。ここに webform-confirmation.tpl.php

3
DRUPWAY