« Bouton like facebook valide w3c » : différence entre les versions

De Marmits Wiki
Page créée avec « == méthode 1 == placer dans la balise html <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" xmlns:fb="http://www.facebook.com/2008/fbml"> meta faceboo... »
 
Aucun résumé des modifications
 
(5 versions intermédiaires par le même utilisateur non affichées)
Ligne 16 : Ligne 16 :
<?php } ?>
<?php } ?>
</pre>
</pre>
 
----
Le javascript en fin de page avant le code du bouton Like Facebook
Le javascript en fin de page avant le code du bouton Like Facebook
<pre>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="http://connect.facebook.net/fr_FR/all.js#xfbml=1&amp;appId=le numero de l'application"></script>
<script type="text/javascript" src="http://connect.facebook.net/fr_FR/all.js#xfbml=1&amp;appId=le numero de l'application"></script>
<script type="text/javascript" src="<?php echo $this->baseUrl();?>/www/js/fakeXFBML.js"></script> -> le plugin pour afficher le bouton valide W3c
<script type="text/javascript" src="<?php echo $this->baseUrl();?>/www/js/fakeXFBML.js"></script> -> le plugin pour afficher le bouton valide W3c
<script type="text/javascript">$("#fb-root").fakeXFBML("like", {"layout":"button_count","href":"<?php echo SITE_PAGE; ?>","send":"false", "show_faces":"true", "width":"450"});</script> -> le script faisant appel au plugin fakeXFBML
<script type="text/javascript">$("#fb-root").fakeXFBML("like", {"layout":"button_count","href":"<?php echo SITE_PAGE; ?>","send":"false", "show_faces":"true", "width":"450"});</script>
</pre>
-> le script faisant appel au plugin fakeXFBML


----
Le View Helper pour Zend (à inclure dans le layout ou la vue)
Le View Helper pour Zend (à inclure dans le layout ou la vue)
 
<pre>
<?php
<?php
class Zend_View_Helper_FacebookLike
class Zend_View_Helper_FacebookLike
{
{
    function facebookLike()
function facebookLike()
    {
{
    //$fc = "<fb:like href=\"".SITE_PAGE."\" send=\"false\" layout=\"button_count\" width=\"450\" show_faces=\"true\"></fb:like>"; // plugin jquery pour le w3c
//$fc = "<fb:like href=\"".SITE_PAGE."\" send=\"false\" layout=\"button_count\" width=\"450\" show_faces=\"true\"></fb:like>"; // plugin jquery pour le w3c
    $fc = "<div id=\"fb-root\"></div>";// avec le plugin
$fc = "<div id=\"fb-root\"></div>";// avec le plugin  
   
return $fc;
    return $fc;
}
    }
}
}
 
</pre>
== méthode 2 ==
== méthode 2 ==
meta facebook avec user agent
meta facebook avec user agent
Ligne 51 : Ligne 54 :
<?php } ?>
<?php } ?>
</pre>
</pre>
dans le template placer:
* dans le template placer avant le </body>
  <script src="<?php echo $this->baseUrl();?>/www/js/facebookValidXhtml.js" type="text/javascript" ></script>
  <script src="<?php echo $this->baseUrl();?>/www/js/facebookValidXhtml.js" type="text/javascript" ></script>
avant le </body>


plugin JS
* plugin JS
facebookValidXhtml.js
facebookValidXhtml.js
// ------------------
// ------------------
Ligne 77 : Ligne 79 :
fbObjectValidationObjects.reverse(); function findFBML(string, fbmlcomm) { var i = (string).indexOf(fbmlcomm); return i === -1 ? false : true; } var x = 0; while (x < fbObjectValidationObjects.length) { var fbVObjectNode = document.getElementsByTagName(fbObjectValidationObjects[x]); var l = new Array(); for(var i=0, ll=fbVObjectNode.length; i!=ll; l.push(fbVObjectNode[i++])); l.reverse(); var fbVObject = l; var i = 0; while (i < fbVObject.length) { var fbRObject = fbVObject[i].innerHTML;
fbObjectValidationObjects.reverse(); function findFBML(string, fbmlcomm) { var i = (string).indexOf(fbmlcomm); return i === -1 ? false : true; } var x = 0; while (x < fbObjectValidationObjects.length) { var fbVObjectNode = document.getElementsByTagName(fbObjectValidationObjects[x]); var l = new Array(); for(var i=0, ll=fbVObjectNode.length; i!=ll; l.push(fbVObjectNode[i++])); l.reverse(); var fbVObject = l; var i = 0; while (i < fbVObject.length) { var fbRObject = fbVObject[i].innerHTML;
if(findFBML(fbRObject, '<!-- FBML ') != false) { var fbRObject = fbRObject.replace(/<!-- FBML /g, ""); var fbRObject = fbRObject.replace(/ FBML -->/g, ""); fbVObject[i].innerHTML = fbRObject;} i++; } x++; }
if(findFBML(fbRObject, '<!-- FBML ') != false) { var fbRObject = fbRObject.replace(/<!-- FBML /g, ""); var fbRObject = fbRObject.replace(/ FBML -->/g, ""); fbVObject[i].innerHTML = fbRObject;} i++; } x++; }
</pre>
* dans le viewhelper
<pre>
$fc =
"<div id=\"fb-root\">
<span class=\"fbreplace\">
<!-- FBML <fb:like href=\"".SITE_PAGE."\" send=\"false\" layout=\"button_count\" width=\"70\" show_faces=\"true\"></fb:like> FBML -->
</span>
</div>";
</pre>


dans le viewhelper
[[category:Facebook]] [[category:Javascript]]
    $fc =
   
"<div id=\"fb-root\">
<span class=\"fbreplace\">
<!-- FBML <fb:like href=\"".SITE_PAGE."\" send=\"false\" layout=\"button_count\" width=\"70\" show_faces=\"true\"></fb:like> FBML -->
</span>
</div>  ";

Dernière version du 27 août 2024 à 12:12

méthode 1

placer dans la balise html

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" xmlns:fb="http://www.facebook.com/2008/fbml">

meta facebook avec user agent

<?php if(stristr($_SERVER["HTTP_USER_AGENT"],'facebook')) { ?>
<meta property="fb:app_id" content="id de l'application facebook" />
<meta property="og:title" content="titre de la page" />
<meta property="og:type" content="website" />
<meta property="og:url" content="url de la page avec tout les parametres" />
<meta property="og:description" content="description de la page" />
<meta property="og:image" content="http://lesite.com/image.png" />
<meta property='og:site_name' content='Le nom du site' />
<meta property="og:locale" content="fr_FR" />
<?php } ?>

Le javascript en fin de page avant le code du bouton Like Facebook

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="http://connect.facebook.net/fr_FR/all.js#xfbml=1&appId=le numero de l'application"></script>
<script type="text/javascript" src="<?php echo $this->baseUrl();?>/www/js/fakeXFBML.js"></script> -> le plugin pour afficher le bouton valide W3c
<script type="text/javascript">$("#fb-root").fakeXFBML("like", {"layout":"button_count","href":"<?php echo SITE_PAGE; ?>","send":"false", "show_faces":"true", "width":"450"});</script>

-> le script faisant appel au plugin fakeXFBML


Le View Helper pour Zend (à inclure dans le layout ou la vue)

<?php
class Zend_View_Helper_FacebookLike
{
	function facebookLike()
	{
		//$fc = "<fb:like href=\"".SITE_PAGE."\" send=\"false\" layout=\"button_count\" width=\"450\" show_faces=\"true\"></fb:like>"; // plugin jquery pour le w3c
		$fc = "<div id=\"fb-root\"></div>";// avec le plugin    
		return $fc;
	}
}

méthode 2

meta facebook avec user agent

<?php if(stristr($_SERVER["HTTP_USER_AGENT"],'facebook')) { ?>
<meta property="fb:app_id" content="id de l'application facebook" />
<meta property="og:title" content="titre de la page" />
<meta property="og:type" content="website" />
<meta property="og:url" content="url de la page avec tout les parametres" />
<meta property="og:description" content="description de la page" />
<meta property="og:image" content="http://lesite.com/image.png" />
<meta property='og:site_name' content='Le nom du site' />
<meta property="og:locale" content="fr_FR" />
<?php } ?>
  • dans le template placer avant le </body>
<script src="<?php echo $this->baseUrl();?>/www/js/facebookValidXhtml.js" type="text/javascript" ></script>
  • plugin JS

facebookValidXhtml.js // ------------------ // Copyright 2011 Kevin Lieser, kleaserarts - Mediendesign // info@ka-mediendesign.de, www.ka-mediendesign.de // ------------------

     window.fbAsyncInit = function() {
       FB.init({appId: 'numero id app facebook', status: true, cookie: true,
                xfbml: true});
     };
     (function() {
       var e = document.createElement('script'); e.async = true;
       e.src = document.location.protocol +
         '//connect.facebook.net/fr_FR/all.js';
       document.getElementById('fb-root').appendChild(e);
     }());

var fbObjectValidationObjects = new Array("div", "span", "p", "ul", "li");

fbObjectValidationObjects.reverse(); function findFBML(string, fbmlcomm) { var i = (string).indexOf(fbmlcomm); return i === -1 ? false : true; } var x = 0; while (x < fbObjectValidationObjects.length) { var fbVObjectNode = document.getElementsByTagName(fbObjectValidationObjects[x]); var l = new Array(); for(var i=0, ll=fbVObjectNode.length; i!=ll; l.push(fbVObjectNode[i++])); l.reverse(); var fbVObject = l; var i = 0; while (i < fbVObject.length) { var fbRObject = fbVObject[i].innerHTML; if(findFBML(fbRObject, '/g, ""); fbVObject[i].innerHTML = fbRObject;} i++; } x++; }

  • dans le viewhelper
$fc = 
	"<div id=\"fb-root\">
	<span class=\"fbreplace\">
	<!-- FBML <fb:like href=\"".SITE_PAGE."\" send=\"false\" layout=\"button_count\" width=\"70\" show_faces=\"true\"></fb:like> FBML -->
	</span>
	</div>";