2016-10-03 13 views
2
<a href="javascript:void(0)" onclick="return fblogin();" class="wksocialsignup fb_button_ps"><img src="<?php echo $this->helper('socialsignup/active')->getLoginImg()?>" alt="<?php echo $this->__('Facebook')?>" title="<?php echo $this->__('Connect with Facebook')?>"/></a> 

ログインとチェックアウトの両方のページで同じコードを使用しています。 Facebookのログインログインページで細かい作業が、私はチェックアウトの同じしようとすると、ログインそれは私に問題になるとそれを修正する方法上の任意の提案がある可能性がどのようなチェックアウトログインページではログインできませんが、ログインページで作業中

Uncaught ReferenceError: fblogin is not defined

のようなエラーを与えて?

+0

関数fblogin()を含むスクリプトが正しく読み込まれているかどうかを確認してください。 –

答えて

2

答えがありましたチェックアウトページでfblogin()を呼び出すために以下のスクリプトを読み込むのを忘れていました。

<script language="JavaScript" type="text/javascript"> 
/*<![CDATA[*/ 
window.fbAsyncInit = function() { 
    FB.init({appId: '<?php echo $this->getAppId()?>',    
     status  : true, 
      cookie  : true, 
      xfbml  : true, 
      oauth  : true}); 

    FB.getLoginStatus(function(response) { 
     if (response.status == 'connected') { 
     <?php if (Mage::getSingleton('customer/session')->isLoggedIn() && $uid = $this->checkFbUser()):?> 
      greet('<?php echo $uid?>'); 
     <?php endif?> 
     } 
    }); 
}; 
(function(d){ 
      var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
      js = d.createElement('script'); js.id = id; js.async = true; 
      js.src = "//connect.facebook.net/<?php echo Mage::app()->getLocale()->getLocaleCode()?>/all.js"; 
      d.getElementsByTagName('head')[0].appendChild(js); 
     }(document)); 

function login(){ 
     document.location.href="<?php echo $this->getUrl('socialsignup/facebook/login')?>?referer=<?php echo Mage::helper('core')->urlEncode($this->helper('core/url')->getCurrentUrl())?>"; 
    } 
    function logout(){ 
     document.location.href="<?php echo $this->getUrl('socialsignup/facebook/logout')?>"; 
    } 
    function greet(id){ 
     FB.api('/me', function(response) { 
     var src = 'https://graph.facebook.com/'+id+'/picture'; 
     $$('.welcome-msg')[0].insert('<img height="20" src="'+src+'"/>'); 
     }); 
    } 

    function fblogin(){ 
     FB.login(function(response) { 

      if (response.status == 'connected') { 
       login(); 
      } else { 
       // user is not logged in 
       window.location.reload(); 
      } 
     }, {scope:'email,publish_actions'}); 
     return false; 
    } 
/*]]>*/ 
</script> 

現在は正常です。

関連する問題