クラフトフォームイベント – 単一フォームをターゲットにする

私はCMS CMSを新しくしています。

クライアントのためのプラグインを構築するには、フォームの1つは、入力されたデータをAPIに投稿し、その結果をメールの前の隠しテキスト領域に返す必要があります。

私はイベントを使ってフォームとプラグインを構築しましたが、今問題のサイトはすべてのフォームでこのイベントが発生します。イベントでフォームハンドルをターゲットにすることは可能ですか?

現在使用中

craft()->on('amForms_submissions.onBeforeSendEmail', function (Event $event) {
    $params = $event->params();
}

前もって感謝します

ベストアンサー

The following code fires the onBeforeEmailSubmission event
(link)

// Fire an 'onBeforeEmailSubmission' event
$event = new Event($this, array(
    'email'      => $notificationEmail,
    'submission' => $submission,
));
$this->onBeforeEmailSubmission($event);

したがって、 $ params 変数の配列キーとして $
submission
および $ email
にアクセスできます。フォームを取得するには、を実行する必要があります。

$submission = $params['submission'];
$form = $submission->getForm();
if($form->handle === 'whatever'){
    //do something
}

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です