2016-10-14 4 views
1

magentoのニュースレターにgoogle reCAPTCHAを追加して、迷惑メールのニュースレターメールの受信を停止する方法。Magentoのニュースレターフォームにgoogle reCAPTCHAを追加するには?

+0

Stack Overflowは[プログラミング関連](http://stackoverflow.com/help/on-topic)のQ&Aサイトですので、 。あなたの質問はプログラミングに関するものではありません。おそらくあなたは代わりにhttp://magento.stackexchange.comに投稿する必要がありますか? – Enigmativity

答えて

1

フォームタグの下の「フォームファイル」に以下のコードを追加して、クエリを解決してください。

<div class="recaptcha" style="overflow:hidden;position:relative;"> 
    <input type="checkbox" id="recaptcha-verification-1" name="recaptcha-verification-1" value="" class="hide required-entry" style="visibility:hidden;position:absolute;left:-1000000px" /> 
    <div id="recaptcha-1"></div> 
    <script type="text/javascript"> 
     var onloadCallback = function() { 
      grecaptcha.render('recaptcha-1', { 
       'sitekey': "6Lf9tBcTAAAAAEbCd2XlhPGH3o850Qp9ZMJJ2fr2", 
       'theme': "light", 
       'callback': function(response) { 
        if (response.length > 0) { 
         $('recaptcha-verification-1').writeAttribute('value', 'checked'); 
         $('recaptcha-verification-1').checked = true; 
        } 
       } 
      }); 
     }; 
    </script> 
    <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit&hl=en" async defer></script></div> 
0

私は同じ問題に直面していたし、私はそれが1つの拡張子「Googleの目に見えないreCAPTCHAの」

待ちを解決作られた...私はまた、JSのコードにいくつかの変更を変更しました。拡張機能をインストールした後

は、管理者側でサイトのキーとシークレットを設定し、オープンsubscription.phtml

YOUR-PROJECT/app/design/frontend/YOURTHEME/default/template/newsletter/subscribe.phtml 

だけFORMタグの後にコードを追加します。

 <div class="g-recaptcha" data-sitekey="YOUR-SITE-KEY"></div> 

最後に、このJSスニペットを追加してください。

<script src='https://www.google.com/recaptcha/api.js'></script> 
<script type="text/javascript"> 
    jQuery(document).ready(function(){ 
     jQuery('#recaptcha_response_field').addClass('required-captcha-entry'); 
    }) 
    var yourFormValidationObj = new VarienForm('newsletter-validate-details'); 

    Validation.add('required-captcha-entry', ' ', function(v) { 
     return !Validation.get('IsEmpty').test(v); 
    }) 
</script> 

私のために働いた。もしあなたがうまくいけば乾杯。

関連する問題