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)
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 :
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 ... )
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 ?
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 =]
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.
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 ? :
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:
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 ?
## 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)
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.
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 - 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 !
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)
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û ?
Réponses
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.
Pour tester ce code tu peux coller la ligne suivante dans le fichier article.php du thème
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)
mes sites principaux : fonds d'écran gratuits - longue traîne - référencer votre site - brocante en ligne -
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 :
Aurais tu un code pour déterminer quelle type de page est affichée (article ou 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 :
en remplaçant artUrl() par staticUrl()
J'ai bien Twit et fb mais g+ n'apparait pas.
PS : je suis en pluxml 5.1.6
je viens de tester : il apparait bien et s'ouvre ....
EDIT : sous Windows8 + firefox ( puisque tu semble avoir des soucis avec d'autres config ... )
mes sites principaux : fonds d'écran gratuits - longue traîne - référencer votre site - brocante en ligne -
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
http://forum.pluxml.org/viewtopic.php?id=4226
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 !
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 =]
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
## 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 :
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.
Et j'ai toujours le même souci, je ne sais pas si c'est mon thème qui soit en cause ? :
Je suis sous PluXml 5.3.1.
Merci.
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 !
@+
mes sites principaux : fonds d'écran gratuits - longue traîne - référencer votre site - brocante en ligne -
ça ressemble à un petit problème de thème/css, vu de loin
Merci.
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 ?
[+] 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)
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
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.
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.
merci pour cet outil !
J'aurais deux remarques...
J'ai activé les boutons sur certaines pages statiques - merci les templates - 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 !
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)
[+] Chargement des fichiers javascript que si nécessaire (contribution Jormun)
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
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û ?