Home Blog pc-software Zencart | Facebook Log In extension

Zencart | Facebook Log In extension

Popis: od 15.12.2011 bohužel nefunkční. Zencart doplněk Facebook Log In je zdrama k stažení. Zde opravená originální verze.
Klíčová slova: zencart, facebook, login, přihlášení, zdarma, stáhnout
Hits: 2271
Hodnocení uživatelů: / 2
NejhoršíNejlepší 
Blog - pc-software
Napsal uživatel Administrator   
Středa, 09 Listopad 2011 15:48

Skvělý doplněk pro e-shop Zencart je k zdarma ke stažení.
 od 15.12.2011 bohužel nefunkční

V originálním balíku je ale několik chyb a nedostatků.

  1. dva soubory z balíku mají být umístěny jinde
    ./includes/templates/template_default/tpl_modules_facebook.php
    ./includes/templates/template_default/tpl_facebook_default.php

    umístit do adresáře vlastního TEMPLATE :

    ./includes/templates/YOUR_TEMPLATE/templates/tpl_modules_facebook.php
    ./includes/templates/YOUR_TEMPLATE/templates/tpl_facebook_default.php

    nebo pokud používáš default TEMLATE, tak do:

    ./includes/templates/template_default/templates/tpl_modules_facebook.php
    ./includes/templates/template_default/templates/tpl_facebook_default.php
  2. sql dotaz ze souboru install_sql.sql není validní a je nekompletní
    proveďte v MySQL tento dotaz
    
    		ALTER TABLE customers ADD facebook_id VARCHAR( 64 ) DEFAULT ''; 
    
    		ALTER TABLE customers ADD COWOA_account INT(1) DEFAULT '0';
    
    		ALTER TABLE customers ADD COWOA_account INT(1)  DEFAULT '0';
    
    		ALTER TABLE orders ADD COWOA_order INT(1)  DEFAULT '0';
    
    		INSERT INTO query_builder ( query_id , query_category , query_name , query_description , query_string ) VALUES ( '', 'email,newsletters', 'Permanent Account Holders Only', 'Send email only to permanent account holders ', 'select customers_email_address, customers_firstname, customers_lastname from TABLE_CUSTOMERS where COWOA_account != 1 order by customers_lastname, customers_firstname, customers_email_address');

další opravy a úpravy pro bezproblémový chod 

  1. trabl s chybou při stisku tlačitka Log In. Šlo o chybu facebooku : 109, kdy aplikace nepatřila stránce ze které volána.
     Bylo způsobeno přítomností ještě jiného FB skriptu navíc s chybným-appId
    
    		<div id="fb-root"></div>
    
    		<script type="text/javascript">(function(d, s, id) {
    
    		var js, fjs = d.getElementsByTagName(s)[0];
    
    		if (d.getElementById(id)) {return;}
    
    		js = d.createElement(s); js.id = id;
    
    		js.src = "//connect.facebook.net/cs_CZ/all.js#xfbml=1&appId=chybne-appId";
    
    		fjs.parentNode.insertBefore(js, fjs);
    
    		 }(document, 'script', 'facebook-jssdk'));</script>

     je nutno použít jen jedno volální skriptu.
  2. pokud na přihlasovací stránce /index.php?main_page=login URI s &zenid=123456abcde nezobrazovalo se FB Log IN tlačítko
    vložen kod do FB scriptu:
    
    		<div id="fb-root"></div> 
    
    		<script>
    
    		      window.fbAsyncInit = function() {
    
    		//inicializace FB API
    
    		        FB.init({
    
    		          appId   : '<?php echo $facebook->getAppId(); ?>',
    
    		           chanellURL : '<?php echo $URL ?>',
    
    		          session : <?php echo json_encode($session); ?>, // don't refetch the session when PHP already has it
    
    		          status  : true, // check login status
    
    		          cookie  : true, // enable cookies to allow the server to access the session
    
    		          xfbml   : true // parse XFBML
    
    		        });
    
    		 //automaticky login        // whenever the user logs in, we refresh the page
    
    		        FB.Event.subscribe('auth.login', function() {
    
    		          window.location = "<?php echo zen_href_link('facebook', '', 'SSL'); ?>"
    
    		        });
    
    		      };
    
    		 //skript pro inicializaci SDK javaskriptu
    
    		      (function() {
    
    		        var e = document.createElement('script');
    
    		        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    
    		        e.async = true;
    
    		        document.getElementById('fb-root').appendChild(e);
    
    		      }());
    
    		    </script>
    
    		<div>M&aacute;&scaron; &uacute;et na Facebooku? <fb:login-button perms="email"></fb:login-button></div>

     Kde $URL sem si připravil před tím: 
    
    		<?php //URL pro FB social pluginy
    
    		$URL=$_SERVER['HTTP_HOST'] .$_SERVER['REQUEST_URI'];
    
    		$URL = str_replace('http://','',$URL);
    
    		if (strrpos($URL, '/')==strlen($URL)-1) $URL = str_replace('/','',$URL);
    
    		$URL=str_replace('&','&amp;',$URL); 
    
    		$URL=str_replace('&amp;zenid='.$_GET["zenid"], '', $URL);
    
    		//konec --- URL pro FB social pluginy
    
    		?>
  3. 2011 12 05 Facebook Like plugin
    /www/includes/templates/YOUR_TEMPLATE/common/tpl_main_page.php
    /www/includes/templates/YOUR_TEMPLATE/common/html_header.php
    /www/includes/templates/template_default/templates/tpl_product_info_display.php
    /www/includes/templates/YOUR_TEMPLATE/common/tpl_footer.php
    /www/includes/templates/template_default/templates/tpl_login_default.php
    nakonec řešeno hotovým doplňkem pro zencart (nusel sem upravit příkazy z sql patch a vložit ručně v mysql phpmyadmin, asi napsano pro starší verzi apache) 
  4. 2011 12 15 Zjištěno, že FB login nefunguje
    post 33zen-cart forum 178431

zdroje

  1. zen-cart forum 178431
  2. zen-cart forum 131679
  3. FB developers javascript

ke stažení opravená verze

bude :-)

reference

e-shop dobré tabáky login

Aktualizováno Středa, 28 Prosinec 2011 23:54