2017-04-21 8 views
0

blocksocial.tplで送信しますか?私はgoogle analytics - ソーシャルインタラクションを送信したかったのです。これが正しい方法でしょうか?私はライブサイトでこのコードを試して、クリックはonclickから発せられなかった。prestashopテンプレートのこのスニペットは、Googleアナリティクスの情報をonclick = ''

{if isset($facebook_url) && $facebook_url != ''} <li class="facebook"> <a class="_blank" href="{$facebook_url|escape:html:'UTF-8'}" onclick="ga('send', 'social', 'Facebook', 'send', '{$facebook_url|escape:html:'UTF-8'}');return true;"> <span>{l s='Facebook' mod='blocksocial'}</span> </a> </li> {/if}

答えて

1

)(e.preventDefaultを関数にのonClickコードをラップして使用することができ、リンク( "a"タグ)のために?

{if isset($facebook_url) && $facebook_url != ''} 
      <li class="facebook"> 
       <a class="_blank" href="{$facebook_url|escape:html:'UTF-8'}" onclick="function(e) { 
     e.preventDefault(); 
     ga('send', 'social', 'Facebook', 'send', '{$facebook_url|escape:html:'UTF-8'}'); 
     return false; 
     }"> 
        <span>{l s='Facebook' mod='blocksocial'}</span> 
       </a> 
      </li> 
{/if} 

更新

私は部分的にあなたのコードを再現。

<head> 
    ... 

    <script type="text/javascript"> 
     function clickProcess(url) { 
      ga('send', 'social', 'Facebook', 'send', url); 
      return true; // set false if you don't need the redirect after code execution 
     } 
    </script> 
</head> 

、その後の引数でURL値とのonClickハンドラとしてclickProcessを設定します:(例えばヘッド部に)jsのコードで処理関数を定義し、私はライブサイトでそれを試してみます

{if isset($facebook_url) && $facebook_url != ''} 
      <li class="facebook"> 
       <a class="_blank" href="{$facebook_url|escape:html:'UTF-8'}" onclick="return clickProcess('{$facebook_url|escape:html:\"UTF-8\"}');"> 
        <span>{l s='Facebook' mod='blocksocial'}</span> 
       </a> 
      </li> 
{/if} 
+0

今、それが動作するかどうかを確認してください! =) –

+0

スタン、それは元のようだったようです。 GAが報告する際にそれを示すのに時間がかかりました。私は今、githubをprestashopするための変更を強化としてリリースしています。 –

関連する問題