Aide générale [PBTV4.1] [Facebook] Partager une news sur votre page Partager une news via un bouton Facebook sur la V 4.1
Bonjour,
La page originale se trouve ici est concerne la V3.
Ce post a pour but de vous aider à appliquer cela pour une V4.1 avec une petite amélioration "perso" qui vous permet juste de faire un copier/coller (pas d'url à changer), magique non ?
Alors voici la grande différence entre la V3 et V4.1 :
"templates/VOTRE_THEME/modules/news/news.tpl" ==> "templates/VOTRE_THEME/modules/news/NewsDisplayNewsController.tpl
"
Oui le nom du fichier à changé de Nom et aussi de structure donc du coup c'est à la ligne 13 ou l'on va rajouter ce code :
Et voici le code de la page en entier pour ceux qui ont la méga flemme :
Et pour les plus curieux et pour ceux qui ne connaissent rien en PHP c'est ce petit bout de code qui récupère l'adresse de votre site pour la passer dans l'url de la pop-up :
Je considère ceci comme une MAJ de la page originale, donc cette modif reste sous la même "licence" de diffusion que la page originale.
EDIT :
MAJ 17/02/2015 : correctif code JS qui généré une erreur.
MAJ 02/03/2015 : Correction code HTML (code complet)
Cordialement, janus57 Edité par janus57 Le 02/03/2015 à 14h13
La page originale se trouve ici est concerne la V3.
Ce post a pour but de vous aider à appliquer cela pour une V4.1 avec une petite amélioration "perso" qui vous permet juste de faire un copier/coller (pas d'url à changer), magique non ?
Alors voici la grande différence entre la V3 et V4.1 :
"templates/VOTRE_THEME/modules/news/news.tpl" ==> "templates/VOTRE_THEME/modules/news/NewsDisplayNewsController.tpl
"
Oui le nom du fichier à changé de Nom et aussi de structure donc du coup c'est à la ligne 13 ou l'on va rajouter ce code :
Code TPL :
<script language="JavaScript"> <!-- function openExamplePopup(file,width,height,scrollbars){ if (scrollbars == '') { scrollbars = 'no'; } window.open(file,'_blank','top=50,left=50,width='+width+',height='+height+',scrollbars='+scrollbars); } // --> </script> <a href="Javascript:openExamplePopup('http://www.facebook.com/share.php?u=http://<?php echo (isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : $_SERVER["SERVER_NAME"]); ?>{U_LINK}','626','436','no');"><img class="valign_middle" src="http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif" alt="share_icon" /></a>
Et voici le code de la page en entier pour ceux qui ont la méga flemme :
Code TPL :
<article itemscope="itemscope" itemtype="http://schema.org/CreativeWork"> <header> <h1> <a href="{U_SYNDICATION}" title="${LangLoader::get_message('syndication', 'main')}" class="fa fa-syndication"></a> <span itemprop="name">{NAME}</span> <span class="actions"> # IF C_EDIT # <a href="{U_EDIT}" title="${LangLoader::get_message('edit', 'main')}" class="fa fa-edit"></a> # ENDIF # # IF C_DELETE # <a href="{U_DELETE}" title="${LangLoader::get_message('delete', 'main')}" class="fa fa-delete" data-confirmation="delete-element"></a> # ENDIF # <script language="JavaScript"> <!-- function openExamplePopup(file,width,height,scrollbars){ if (scrollbars == '') { scrollbars = 'no'; } window.open(file,'_blank','top=50,left=50,width='+width+',height='+height+',scrollbars='+scrollbars); } // --> </script> <a href="Javascript:openExamplePopup('http://www.facebook.com/share.php?u=http://<?php echo (isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : $_SERVER["SERVER_NAME"]); ?>{U_LINK}','626','436','no');"><img class="valign_middle" src="http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif" alt="share_icon" /></a> </span> </h1> <div class="more"> # IF C_AUTHOR_DISPLAYED # ${LangLoader::get_message('by', 'common')} # IF C_AUTHOR_EXIST #<a itemprop="author" rel="author" class="small {USER_LEVEL_CLASS}" href="{U_AUTHOR_PROFILE}" # IF C_USER_GROUP_COLOR # style="color:{USER_GROUP_COLOR}" # ENDIF #>{PSEUDO}</a># ELSE #{PSEUDO}# ENDIF #, # ENDIF # ${TextHelper::lowercase_first(LangLoader::get_message('the', 'common'))} <time datetime="{DATE_ISO8601}" itemprop="datePublished">{DATE}</time> ${TextHelper::lowercase_first(LangLoader::get_message('in', 'common'))} <a itemprop="about" href="{U_CATEGORY}">{CATEGORY_NAME}</a> # IF C_COMMENTS_ENABLED #- # IF C_COMMENTS # {NUMBER_COMMENTS} # ENDIF #{L_COMMENTS}# ENDIF # </div> <meta itemprop="url" content="{U_LINK}"> <meta itemprop="description" content="${escape(DESCRIPTION)}" /> # IF C_COMMENTS_ENABLED # <meta itemprop="discussionUrl" content="{U_COMMENTS}"> <meta itemprop="interactionCount" content="{NUMBER_COMMENTS} UserComments"> # ENDIF # </header> <div class="content"> # IF C_PICTURE #<img itemprop="thumbnailUrl" src="{U_PICTURE}" alt="{NAME}" title="{NAME}" class="right" /># ENDIF # <div itemprop="text">{CONTENTS}</div> </div> <aside> # IF C_SOURCES # <div id="news-sources-container"> <span>${LangLoader::get_message('form.sources', 'common')}</span> : # START sources # <a itemprop="isBasedOnUrl" href="{sources.URL}" class="small">{sources.NAME}</a># IF sources.C_SEPARATOR #, # ENDIF # # END sources # </div> # ENDIF # # IF C_KEYWORDS # <div id="news-tags-container"> <span>${LangLoader::get_message('form.keywords', 'common')}</span> : # START keywords # <a itemprop="keywords" rel="tag" href="{keywords.URL}">{keywords.NAME}</a># IF keywords.C_SEPARATOR #, # ENDIF # # END keywords # </div> # ENDIF # # IF C_SUGGESTED_NEWS # <div id="news-suggested-container"> <span>${LangLoader::get_message('suggestions', 'common')} :</span> <ul> # START suggested # <li><a href="{suggested.URL}">{suggested.NAME}</a></li> # END suggested # </ul> </div> # ENDIF # <hr class="news-separator"> # IF C_NEWS_NAVIGATION_LINKS # <div class="navigation-link"> # IF C_PREVIOUS_NEWS # <span style="float:left"> <a href="{U_PREVIOUS_NEWS}"><i class="fa fa-arrow-left fa-2x"></i></a> <a href="{U_PREVIOUS_NEWS}">{PREVIOUS_NEWS}</a> </span> # ENDIF # # IF C_NEXT_NEWS # <span style="float:right"> <a href="{U_NEXT_NEWS}">{NEXT_NEWS}</a> <a href="{U_NEXT_NEWS}"><i class="fa fa-arrow-right fa-2x"></i></a> </span> # ENDIF # <div class="spacer"></div> </div> # ENDIF # # INCLUDE COMMENTS # </aside> <footer></footer> </article>
Et pour les plus curieux et pour ceux qui ne connaissent rien en PHP c'est ce petit bout de code qui récupère l'adresse de votre site pour la passer dans l'url de la pop-up :
Code TPL :
<a href="Javascript:openExamplePopup('http://www.facebook.com/share.php?u=http://<?php echo (isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : $_SERVER["SERVER_NAME"]); ?>{U_LINK}','626','436','no');"><img class="valign_middle" src="http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif" alt="share_icon" /></a>
Je considère ceci comme une MAJ de la page originale, donc cette modif reste sous la même "licence" de diffusion que la page originale.
EDIT :
MAJ 17/02/2015 : correctif code JS qui généré une erreur.
MAJ 02/03/2015 : Correction code HTML (code complet)
Cordialement, janus57 Edité par janus57 Le 02/03/2015 à 14h13
Bonjour,
Merci Janus, j'ai pas eu le temps de le faire ce matin
C'est en parti ma réponse dans les commentaires du sujet dans des extras de la V3, donc il va falloir faire une section extras pbt V4.XX.. Sinon on va pas s'en sortir ..
Swan
Merci Janus, j'ai pas eu le temps de le faire ce matin
C'est en parti ma réponse dans les commentaires du sujet dans des extras de la V3, donc il va falloir faire une section extras pbt V4.XX.. Sinon on va pas s'en sortir ..
Swan
Bonjour,
Dis moi Janus, je viens de le tester sur un thème que je teste et pas moyen d'afficher à partir du thème la modification dans le NewsDisplayNewsController.tpl. Après rafraichissement , j'ai une superbe page blanche .. (testé sur mon serveur locale). Sur un site en production l'erreur n'est pas de mise ?
Je vais faire des tests sur mon site démo 4.1 en attendant.
Swan
Dis moi Janus, je viens de le tester sur un thème que je teste et pas moyen d'afficher à partir du thème la modification dans le NewsDisplayNewsController.tpl. Après rafraichissement , j'ai une superbe page blanche .. (testé sur mon serveur locale). Sur un site en production l'erreur n'est pas de mise ?
Je vais faire des tests sur mon site démo 4.1 en attendant.
Swan
Re,
Bon bah .. apparemment je comprends pas, l'erreur n'est plus là .. Pour moi soucis résolu, mais j'avais rien dans les logs. Surement un bug de firefox.
Merci tout de même d'avoir répondu ^^
Swan
Bon bah .. apparemment je comprends pas, l'erreur n'est plus là .. Pour moi soucis résolu, mais j'avais rien dans les logs. Surement un bug de firefox.
Merci tout de même d'avoir répondu ^^
Swan
Re,
Retour sur un site en 4.1 en prod : http://demo41.easy-design.net/ il s'avère que lorsque tu porte le tpl avec le code php dans le thème, cela me génère plus d'une erreur..
- Impossible de rentrée dans la news individuelle.
- Directement sur la page du module news , je ne peux aucunement éditer une news.
etc..
Donc je passe directement par le placement de l'url du site dans le lien facebook pour palier au soucis et là , plus aucun bug. Donc dans la mesure ou le comportement n'est pas stable je favorise, même préconise cette solution dans le tuto.
Je modifie.
Swan
Retour sur un site en 4.1 en prod : http://demo41.easy-design.net/ il s'avère que lorsque tu porte le tpl avec le code php dans le thème, cela me génère plus d'une erreur..
- Impossible de rentrée dans la news individuelle.
- Directement sur la page du module news , je ne peux aucunement éditer une news.
etc..
Donc je passe directement par le placement de l'url du site dans le lien facebook pour palier au soucis et là , plus aucun bug. Donc dans la mesure ou le comportement n'est pas stable je favorise, même préconise cette solution dans le tuto.
Je modifie.
Swan
Re,
Sans aucune autre modification de ma part en dehors du code facebook, sur ce tpl : NewsDisplayNewsController.tpl, je ne comprends pas pourquoi avec l'intégration de ton code en php, <?php ........?> lorsqu'il est porté dans le "/templates/monthème/modules/news/" il génère une volée de bugs ...
Voilà ..
Sans aucune autre modification de ma part en dehors du code facebook, sur ce tpl : NewsDisplayNewsController.tpl, je ne comprends pas pourquoi avec l'intégration de ton code en php, <?php ........?> lorsqu'il est porté dans le "/templates/monthème/modules/news/" il génère une volée de bugs ...
Code TPL :
<article itemscope="itemscope" itemtype="http://schema.org/CreativeWork"> <header> <h1> <a href="{U_SYNDICATION}" title="${LangLoader::get_message('syndication', 'main')}" class="fa fa-syndication"></a> <span itemprop="name">{NAME}</span> <span class="actions"> # IF C_EDIT # <a href="{U_EDIT}" title="${LangLoader::get_message('edit', 'main')}" class="fa fa-edit"></a> # ENDIF # # IF C_DELETE # <a href="{U_DELETE}" title="${LangLoader::get_message('delete', 'main')}" class="fa fa-delete" data-confirmation="delete-element"></a> # ENDIF # <script language="JavaScript"> <!-- function openExamplePopup(file,width,height,scrollbars){ if (scrollbars == '') { scrollbars = 'no'; } window.open(file,'_blank','top=50,left=50,width='+width+',height='+height+',scrollbars='+scrollbars); } // --> </script> <a href="Javascript:openExamplePopup('http://www.facebook.com/share.php?u=http://URL_DU_SITE/{U_LINK}','626','436','no');"><img class="valign_middle" src="http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif" alt="share_icon" /></a> </span> </h1> <div class="more"> # IF C_AUTHOR_DISPLAYED # ${LangLoader::get_message('by', 'common')} # IF C_AUTHOR_EXIST #<a itemprop="author" rel="author" class="small {USER_LEVEL_CLASS}" href="{U_AUTHOR_PROFILE}" # IF C_USER_GROUP_COLOR # style="color:{USER_GROUP_COLOR}" # ENDIF #>{PSEUDO}</a># ELSE #{PSEUDO}# ENDIF #, # ENDIF # ${TextHelper::lowercase_first(LangLoader::get_message('the', 'common'))} <time datetime="{DATE_ISO8601}" itemprop="datePublished">{DATE}</time> ${TextHelper::lowercase_first(LangLoader::get_message('in', 'common'))} <a itemprop="about" href="{U_CATEGORY}">{CATEGORY_NAME}</a> # IF C_COMMENTS_ENABLED #- # IF C_COMMENTS # {NUMBER_COMMENTS} # ENDIF #{L_COMMENTS}# ENDIF # </div> <meta itemprop="url" content="{U_LINK}"> <meta itemprop="description" content="${escape(DESCRIPTION)}" /> # IF C_COMMENTS_ENABLED # <meta itemprop="discussionUrl" content="{U_COMMENTS}"> <meta itemprop="interactionCount" content="{NUMBER_COMMENTS} UserComments"> # ENDIF # </header> <div class="content"> # IF C_PICTURE #<img itemprop="thumbnailUrl" src="{U_PICTURE}" alt="{NAME}" title="{NAME}" class="right" /># ENDIF # <div itemprop="text">{CONTENTS}</div> </div> <aside> # IF C_SOURCES # <div id="news-sources-container"> <span>${LangLoader::get_message('form.sources', 'common')}</span> : # START sources # <a itemprop="isBasedOnUrl" href="{sources.URL}" class="small">{sources.NAME}</a># IF sources.C_SEPARATOR #, # ENDIF # # END sources # </div> # ENDIF # # IF C_KEYWORDS # <div id="news-tags-container"> <span>${LangLoader::get_message('form.keywords', 'common')}</span> : # START keywords # <a itemprop="keywords" rel="tag" href="{keywords.URL}">{keywords.NAME}</a># IF keywords.C_SEPARATOR #, # ENDIF # # END keywords # </div> # ENDIF # # IF C_SUGGESTED_NEWS # <div id="news-suggested-container"> <span>${LangLoader::get_message('suggestions', 'common')} :</span> <ul> # START suggested # <li><a href="{suggested.URL}">{suggested.NAME}</a></li> # END suggested # </ul> </div> # ENDIF # <hr class="news-separator"> # IF C_NEWS_NAVIGATION_LINKS # <div class="navigation-link"> # IF C_PREVIOUS_NEWS # <span style="float:left"> <a href="{U_PREVIOUS_NEWS}"><i class="fa fa-arrow-left fa-2x"></i></a> <a href="{U_PREVIOUS_NEWS}">{PREVIOUS_NEWS}</a> </span> # ENDIF # # IF C_NEXT_NEWS # <span style="float:right"> <a href="{U_NEXT_NEWS}">{NEXT_NEWS}</a> <a href="{U_NEXT_NEWS}"><i class="fa fa-arrow-right fa-2x"></i></a> </span> # ENDIF # <div class="spacer"></div> </div> # ENDIF # # INCLUDE COMMENTS # </aside> <footer></footer> </article>
Voilà ..
Bonjour,
je viens de tester sur mon site avec le thème de base, 0 problème.
Tu peu donner le code complet qui génère l’erreur ainsi que l'erreur retourné stp ?
Ce code a été spécifiquement fait pour ne pas générer d'erreur en fonction du PHP, donc normalement y a rien qui bloque.
Cordialement, janus57
je viens de tester sur mon site avec le thème de base, 0 problème.
Code TPL :
<article itemscope="itemscope" itemtype="http://schema.org/CreativeWork"> <header> <h1> <a href="{U_SYNDICATION}" title="${LangLoader::get_message('syndication', 'main')}" class="fa fa-syndication"></a> <span itemprop="name">{NAME}</span> <span class="actions"> # IF C_EDIT # <a href="{U_EDIT}" title="${LangLoader::get_message('edit', 'main')}" class="fa fa-edit"></a> # ENDIF # # IF C_DELETE # <a href="{U_DELETE}" title="${LangLoader::get_message('delete', 'main')}" class="fa fa-delete" data-confirmation="delete-element"></a> # ENDIF # <script language="JavaScript"> <!-- function openExamplePopup(file,width,height,scrollbars){ if (scrollbars == '') { scrollbars = 'no'; } window.open(file,'_blank','top=50,left=50,width='+width+',height='+height+',scrollbars='+scrollbars); } // --> </script> <a href="Javascript:openExamplePopup('http://www.facebook.com/share.php?u=http://<?php echo (isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : $_SERVER["SERVER_NAME"]); ?>{U_LINK}','626','436','no');"><img class="valign_middle" src="http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif" alt="share_icon" /></a> </span> </h1> <div class="more"> # IF C_AUTHOR_DISPLAYED # ${LangLoader::get_message('by', 'common')} # IF C_AUTHOR_EXIST #<a itemprop="author" rel="author" class="small {USER_LEVEL_CLASS}" href="{U_AUTHOR_PROFILE}" # IF C_USER_GROUP_COLOR # style="color:{USER_GROUP_COLOR}" # ENDIF #>{PSEUDO}</a># ELSE #{PSEUDO}# ENDIF #, # ENDIF # ${TextHelper::lowercase_first(LangLoader::get_message('the', 'common'))} <time datetime="{DATE_ISO8601}" itemprop="datePublished">{DATE}</time> ${TextHelper::lowercase_first(LangLoader::get_message('in', 'common'))} <a itemprop="about" href="{U_CATEGORY}">{CATEGORY_NAME}</a> # IF C_COMMENTS_ENABLED #- # IF C_COMMENTS # {NUMBER_COMMENTS} # ENDIF #{L_COMMENTS}# ENDIF # </div> <meta itemprop="url" content="{U_LINK}"> <meta itemprop="description" content="${escape(DESCRIPTION)}" /> # IF C_COMMENTS_ENABLED # <meta itemprop="discussionUrl" content="{U_COMMENTS}"> <meta itemprop="interactionCount" content="{NUMBER_COMMENTS} UserComments"> # ENDIF # </header> <div class="content"> # IF C_PICTURE #<img itemprop="thumbnailUrl" src="{U_PICTURE}" alt="{NAME}" title="{NAME}" class="right" /># ENDIF # <div itemprop="text">{CONTENTS}</div> </div> <aside> # IF C_SOURCES # <div id="news-sources-container"> <span>${LangLoader::get_message('form.sources', 'common')}</span> : # START sources # <a itemprop="isBasedOnUrl" href="{sources.URL}" class="small">{sources.NAME}</a># IF sources.C_SEPARATOR #, # ENDIF # # END sources # </div> # ENDIF # # IF C_KEYWORDS # <div id="news-tags-container"> <span>${LangLoader::get_message('form.keywords', 'common')}</span> : # START keywords # <a itemprop="keywords" rel="tag" href="{keywords.URL}">{keywords.NAME}</a># IF keywords.C_SEPARATOR #, # ENDIF # # END keywords # </div> # ENDIF # # IF C_SUGGESTED_NEWS # <div id="news-suggested-container"> <span>${LangLoader::get_message('suggestions', 'common')} :</span> <ul> # START suggested # <li><a href="{suggested.URL}">{suggested.NAME}</a></li> # END suggested # </ul> </div> # ENDIF # <hr class="news-separator"> # IF C_NEWS_NAVIGATION_LINKS # <div class="navigation-link"> # IF C_PREVIOUS_NEWS # <span style="float:left"> <a href="{U_PREVIOUS_NEWS}"><i class="fa fa-arrow-left fa-2x"></i></a> <a href="{U_PREVIOUS_NEWS}">{PREVIOUS_NEWS}</a> </span> # ENDIF # # IF C_NEXT_NEWS # <span style="float:right"> <a href="{U_NEXT_NEWS}">{NEXT_NEWS}</a> <a href="{U_NEXT_NEWS}"><i class="fa fa-arrow-right fa-2x"></i></a> </span> # ENDIF # <div class="spacer"></div> </div> # ENDIF # # INCLUDE COMMENTS # </aside> <footer></footer> </article>
Tu peu donner le code complet qui génère l’erreur ainsi que l'erreur retourné stp ?
Ce code a été spécifiquement fait pour ne pas générer d'erreur en fonction du PHP, donc normalement y a rien qui bloque.
Cordialement, janus57
Bonjour,
au moment de mon test :
Activation de la réécriture des urls ==> ON
Activation de la compression des pages, ceci accélère la vitesse d'affichage ==> ON
Mode Debug ==> ON + Strict
Activer le cache CSS ==> OFF
Je vais tester avec le cache.
Avec cache :
Activer le cache CSS ==> ON
Niveau d'optimisation ==> HAUT
+ les paramètres au dessus.
0 problème je peu afficher les news individuel sans aucune erreur avec le thème de base.
Tu as quoi comme paramètres de ton côté ?
Cordialement, janus57 Edité par janus57 Le 02/03/2015 à 18h11
au moment de mon test :
Activation de la réécriture des urls ==> ON
Activation de la compression des pages, ceci accélère la vitesse d'affichage ==> ON
Mode Debug ==> ON + Strict
Activer le cache CSS ==> OFF
Je vais tester avec le cache.
Avec cache :
Activer le cache CSS ==> ON
Niveau d'optimisation ==> HAUT
+ les paramètres au dessus.
0 problème je peu afficher les news individuel sans aucune erreur avec le thème de base.
Tu as quoi comme paramètres de ton côté ?
Cordialement, janus57 Edité par janus57 Le 02/03/2015 à 18h11
Moi c'est simple j'avais tout désactivé.. sauf la compression des pages.
Ensuite est ce que la version serveur en php joue ... Je ne sais pas, mais cela m'étonnerais
- Mon wamp en 5.4.12
- Le serveur : 5.3.3
Le pire c'est que dans l'admin aucune erreur.
Ensuite est ce que la version serveur en php joue ... Je ne sais pas, mais cela m'étonnerais
- Mon wamp en 5.4.12
- Le serveur : 5.3.3
Le pire c'est que dans l'admin aucune erreur.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie