[plugin] MySocialButtons (twitter, facebook, google+1)

135

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    @websyys

    Voilà un exemple de code de plugin permettant de recupérer le titre et l'url d'un article avec différent cas de figure.
    <?php
    
    class test extends plxPlugin {
    
    	public function __construct($default_lang) {
    
    		# Appel du constructeur de la classe plxPlugin (obligatoire)
    		parent::__construct($default_lang);
    
    		$this->addHook('test', 'test');	
    	}
    
    
    	public function test() {
    	
    		#
    		# A partir de plxShow
    		#
    		$plxShow = plxShow::getInstance();
    		
    		# affichage du titre et de l'url de l'article
    		$plxShow->artTitle(); # titre de l'article
    		$plxShow->artUrl(); # url de l'article
    		
    		#
    		# A partir de plxMotor
    		#
    		$plxMotor = plxMotor::getInstance();
    		
    		# récupération du titre de l'article dans une variable puis affichage
    		$artTitle = $plxMotor->plxRecord_arts->f('title');
    		echo plxUtils::strCheck($artTitle);
    		
    		# récupération du titre de l'article + formatage du lien 
    		$id = intval($plxMotor->plxRecord_arts->f('numero'));
    		$title = plxUtils::strCheck($plxMotor->plxRecord_arts->f('title'));
    		$url = $plxMotor->plxRecord_arts->f('url');
    		echo '<a href="'.$plxMotor->urlRewrite('?article'.$id.'/'.$url).'" title="'.$title.'">'.$title.'</a>';
    		
    	}
    
    }
    ?>
    

    Pour tester ce code tu peux coller la ligne suivante dans le fichier article.php du thème
    <?php eval($plxShow->callHook('test')) ?>
    

    Si tu veux utiliser le code ailleurs que dans article.php, il faudra faire attention qu'on est bien sur une page où les données des articles peuvent être récupérées.
    Exemple si tu es sur une page statique, il y a aura certainement des erreurs car le contenu des variables sera soit inconnu soit non défini.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • ah que ça c'est plus que bon ..... :)
  • websyyswebsyys Member
    octobre 2013 modifié
    Merci Stéphane pour ce code très utile. Il serait bon de mettre cet exemple dans la partie wiki devzone ;)
    Je vais modifier le code et utiliser la première méthode pour récupérer l'url et le titre de l'article.
    Pour l'affichage sur page statique, peut-être faudrait-il ajouter une condition comme ceci :
    [== Indéfini ==]
    if (page statique = oui) {...}
    else {...}
    

    Aurais tu un code pour déterminer quelle type de page est affichée (article ou page statique) ?
  • Jerry WhamJerry Wham Member
    octobre 2013 modifié
    if($plxMotor->mode == "static")
    
    en s'assurant qu'il y a bien une instance de $plxMotor qui existe.
  • websyyswebsyys Member
    octobre 2013 modifié
    Nickel merci ;)
  • Pardon si j'ai loupé une marche mais peut-on mettre les boutons dans une page statique ?
  • AirW a écrit:
    Pardon si j'ai loupé une marche mais peut-on mettre les boutons dans une page statique ?

    Bonjour AirW, je ne pense pas que ce soit possible sans modifications.
    Tu peut tout de même inclure ce code sur la page statique :
    [== Indéfini ==]
    		<div class="social-buttons">
    			<div id="fb-root"></div>
    			<div><div class="g-plus" data-action="share" data-annotation="none" data-href="<?php echo "<?php echo \$plxShow->artUrl() ?>" ?>"></div></div>
    			<div><a href="https://twitter.com/share" class="twitter-share-button" data-url="<?php echo "<?php echo \$plxShow->artUrl() ?>" ?>" data-lang="fr" data-count="none">Tweeter</a></div>
    			<div class="fb-like" data-href="<?php echo "<?php echo \$plxShow->artUrl() ?>" ?>" data-send="false" data-layout="button_count" data-width="20" data-show-faces="false"></div>
    		</div>
    

    en remplaçant artUrl() par staticUrl() ;)
  • Salut et merci pour ce plugin.
    J'ai bien Twit et fb mais g+ n'apparait pas.

    PS : je suis en pluxml 5.1.6
  • bg62bg62 Member
    décembre 2013 modifié
    Cristofoto a écrit:
    Salut et merci pour ce plugin.
    J'ai bien Twit et fb mais g+ n'apparait pas.

    PS : je suis en pluxml 5.1.6
    salut ;)
    je viens de tester : il apparait bien et s'ouvre .... :)
    EDIT : sous Windows8 + firefox ( puisque tu semble avoir des soucis avec d'autres config ... )
  • alors voilà,
    je suis sous mac et
    sur safari : icones FB et Twit OK mais pas G+
    sur chrome : que l'icone de twit
    sur firefox : tout ok

    grmffff :o
  • Salut, tu peut aussi essayer ce plugin :
    http://forum.pluxml.org/viewtopic.php?id=4226
  • Bonjour

    J'ai installé plxMySocialButtons
    rajouté le code dans article.php
    IE googgle et twiter ok pas de facebook ?
    Chrome et firefox juste un lien twitter pas de bouton ?

    <div class="post-content clearfix">
    <?php eval($plxShow->callHook('MySocialButtons')) ?>
    </div>

    je suis en pluxml 5.1.7 thème mystique

    Help !
  • Bonsoir,

    Je pense que c'est lié à un bug, Facebook à revu son code d'intégration pour le bouton "j'aime".

    Actuellement j'ai une version qui corrige le problème sous le coude, mais j'ai un soucis d'alignement des boutons.
    Je regarde ça et partage, si Stéphane m'en donne l'autorisation évidemment =]
  • StéphaneStéphane Member, Former PluXml Project Manager
    @aruhuno: oui bien sur

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • aruhunoaruhuno Member
    février 2014 modifié
    Voici le changelog de la version 1.4 en bêta tant que Stéphane n'a pas intégré les modifs.

    ## Version 1.4b (13/02/2013) ##
    - mise à jour des boutons avec les nouvelles API
    - ré-indentation du code
    - modification du style

    Le rendu sur mon site de développement :
    plxMySocialButtons.png

    Et enfin, le lien temporaire pour le télécharger.

    Attention : durant le chargement de la page, un vide se créé en dessous du footer, puis disparaît une fois la page chargée. Ne voyant pas trop quoi faire, je prends contact avec Stéphane via MP.
  • LolYangccoolLolYangccool Member
    avril 2014 modifié
    J'ai essayé la version 1.3 mais ayant un bug d'affichage avec celle-ci j'ai testé la beta 1.4b.
    Et j'ai toujours le même souci, je ne sais pas si c'est mon thème qui soit en cause ? :
    Bug%20affichage%20PlxMySocialButtons.png

    Je suis sous PluXml 5.3.1. :)

    Merci. :)
  • bg62bg62 Member
    bonjour;)
    petit problème ou petite erreur ...
    Préférant mettre le 'hook' d'appel en sidebar, je n'arrive pas à le faire fonctionner sur les pages statiques !
    Fatal error: Call to a member function f() on a non-object in C:\wamp\www\compteurpluxml\core\lib\class.plx.show.php on line 484 Call Stack #TimeMemoryFunctionLocation 10.0007406472{main}( )..\index.php:0 20.08373009304include( 'C:\wamp\www\compteurpluxml\themes\compter\static-word.php' )..\index.php:67 30.08773031144include( 'C:\wamp\www\compteurpluxml\themes\compter\sidebarstatique.php' )..\static-word.php:25 40.08793035528eval( '?>
    Tweeter
    )..\sidebarstatique.php:5 50.08793035528plxShow->artUrl( )..\sidebarstatique.php(5) : eval()'d code:
    :(
    @+
  • @LolYangccool: pas possible d'avoir une page en ligne pour tester? quel navigateur/version?
    ça ressemble à un petit problème de thème/css, vu de loin
  • Kyodev a écrit:
    @LolYangccool: pas possible d'avoir une page en ligne pour tester?
    Bah, disons que vu qu'il y a un bug...
    Kyodev a écrit:
    quel navigateur/version?
    Safari 7.0.3 mais c'est pareil avec Firefox 28. :(

    Merci.
  • hello,

    je rencontre un pb lorsque l'appel se fait dans les categorie/tags/home ... le "<div id="fb-root"></div>" est déclaré plusieurs fois.
    Faut-il le mettre dans le header avec le JS juste après ?
  • Je viens de réessayer ce plugin avec le thème par défaut de PluXml 5.3, même soucis. :(
  • StéphaneStéphane Member, Former PluXml Project Manager
    ## Version 1.4 (15/07/2014) ##
    [+] Ajout du hook MySocialButtonsStatic pour afficher les boutons sociaux sur une page statique (contribution Etienne R)
    [+] Utilisation du menu "Code css" du plugin pour définir les propriétés css de .social-buttons, au lieu d'être codé en dur dans le plugin
    [+] Mise à jour de l'aide
    BUG echo en trop lors de l'appel de $plxShow->artUrl()

    Apres une mise à jour, passez par le menu "Code css" du plugin en allant dans:
    Paramètres > Plugins > menu "Plugins actifs" > plugin "MySocialButtons" > menu "Code css"
    Cliquez sur le bouton "Sauvegarder le fichier" pour prendre en compte le code css du plugin

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Merci pour la mise à jour de ce plugin :D
  • Bonjour Stephane !

    Au passage, un grand merci pour tous ces superbes plugins {)

    Comment fait-on pour configurer Facebook, Google+ pour pouvoir partager le contenu sur son mur ?

    Merci
  • Salut,

    Loin de moi l'idée de dénigrer le travail de Stéphane, qui fait un énorme travail et pas que sur ce plugin.
    Cependant, ce plugin (comme la majorité des plugins de ce type) ne respecte pas la vie privée de vos visiteurs car même s'ils n'utilisent pas les boutons les visiteurs seront tracés, entre autres à l'aide de cookies.

    Il existe le plugin SocialSharePrivacy qui respecte la vie privée des visiteurs. Il demande deux clics au lieu d'un mais les visiteurs peuvent (s'ils le désirent -et s'ils savent où cliquer-) choisir de ne plus avoir à cliquer qu'une seule fois (auquel cas ils choisissent de se faire suivre en toute connaissance de cause).
    Le plugin actuel est assez facilement intégrable dans un thème par un webmaster avec un peu de connaissance PHP, JS, HTML, plus difficilement par un novice. A noter que ce plugin propose pas mal de réseaux sociaux.

    Encore une fois le but n'est pas de faire de la compétition à MySocialButtons (de toute manière je n'ai aucun lien avec SocialSharePrivacy) mais de proposer une alternative à ceux qui seraient intéressés.

    Si vous voulez voir ce que ça donne, il suffit de regarder des articles sur mon blog ComputingFroggy.
  • ComputingFroggy a écrit:
    Cependant, ce plugin (comme la majorité des plugins de ce type) ne respecte pas la vie privée de vos visiteurs car même s'ils n'utilisent pas les boutons les visiteurs seront tracés, entre autres à l'aide de cookies.
    Oui, sans oublier le localstorage qui fait passer la capacité d'un cookie à 10 MB...
    Je ne suis vraiment pas fan de ce genre d'outils. L'alternative de ComputingFroggy est vraiment beaucoup plus respectueuse en effet de la vie privée.
  • Bonjour,
    merci pour cet outil !
    J'aurais deux remarques...
    J'ai activé les boutons sur certaines pages statiques - merci les templates :D - mais sur des pages ne les comportant pas, je vois des connexions sur Firebug depuis Facebook, Twitter qui n'ont pas lieu =/
    Est-ce que le plugin pourrait ne pas du tout effectuer de connexion vers ces sites quand on ne fait pas appel à lui ?
    (déjà que j'étais pas trop chaud pour ajouter des boutons sociaux xD)

    Deuxième remarque : en phase d'optimisation, on me parle de chargement asynchro... Il semblerait qu'il faille donner à ces scripts de se charger en dernier pour donner de la fluidité aux pages. Est-ce envisageable ? Ou bien ça se situe à un autre niveau ?
    Cordialement !
  • StéphaneStéphane Member, Former PluXml Project Manager
    Rubén a écrit:

    Deuxième remarque : en phase d'optimisation, on me parle de chargement asynchro... Il semblerait qu'il faille donner à ces scripts de se charger en dernier pour donner de la fluidité aux pages. Est-ce envisageable ? Ou bien ça se situe à un autre niveau ?
    Cordialement !

    Les fichiers javascript nécessaires à ce plugin sont appelés en bas du theme et en mode asynchrone quand c'est possible.
    Cela répond donc déjà à ta demande

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • StéphaneStéphane Member, Former PluXml Project Manager
    ## Version 1.4.1 (06/11/2014) ##
    [+] Chargement des fichiers javascript que si nécessaire (contribution Jormun)

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Bonjour,

    Je viens d'essayer d'installer ce plugin sur mon Pluxml 5.3.1, je l'uploade en FTP avec Filezilla… et rien n’apparaît dans Paramètres - Plugins… Pourtant, la procédure a marché nickel avec plxtoolbar, c’est bizarre…
    Vous savez à quoi ça peut être dû ?
Connectez-vous ou Inscrivez-vous pour répondre.