web-dev-qa-db-ja.com

rsformに表示される自分のメールアドレスに対してメールクローキングを有効にする方法

RSForm Proコンポーネントを使用して作成されたお問い合わせフォームがあります。
フォームの上部に、RSForm freetext fieldを使用した簡単なイントロテキストがあり、フォームを送信したくない人のためのメールアドレスと直接ご連絡ください。

RSフォームメニュー項目を使用してフォームを発行しました。
私の問題は、メールクローキングプラグインがrsform内に表示されるメールアドレスに影響を与えないことです。

ボットから自分のメールアドレスを非表示にするにはどうすればよいですか?

1
FFrewin

以下は2つのオプションです。

1。 Joomla Article内でフォームを表示します。

1つ目は、フォームjoomla記事内を挿入して発行することです。この場合、クローキングプラグインがトリガーされます。 RS Formコンポーネントには、記事内でフォームを表示するために必要なプラグインが付属しています。

ただし、これにより、フォームがフォーム内から他のメールアドレスを処理する方法でさらに問題が発生する可能性がありますが、この場合、RS Joomlaサイトには instructions があり、処理する必要がありますこの。

2。 PHP)を使用します。

他のオプションは、RSフォーム内で、phpを使用してフォームの出力を操作することです。
これは、RSフォームの機能を使用して、フォームの表示で呼び出されるphpコードの実行で可能です。

これを達成する方法は次のとおりです:
フォームのフリーテキストフィールドで、電子メールアドレスを特別なキーワードで置き換えることができます。これは角かっこで囲むことができます。

例えば。 {email}までお気軽にメールでお問い合わせください。

{email}」は特別なキーワードです。

次にフォームプロパティからPHPスクリプトセクションで、フォームの表示を操作する次のコードを最初のスクリプトテキスト領域に追加できます。

  //First we use Joomla's default email cloaking feature:
  $email = JHtml::_('email.cloak', '[email protected]');

  //Then we replace the keyword we placed previously in the freetext, with the new value of email.
  $formLayout = str_replace('{email}',$email, $formLayout);

$formLayoutは、フォームのレイアウトを含む文字列です。この文字列内でキーワードを検索し、新しい「クローキングされた」電子メール値$emailに置き換えます。

これで、メールアドレスはフロントエンドのスパムボットから保護されます。

3
FFrewin