Easy-Design.Net forum




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

janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 01/12/2014 à 01h03
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 :
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
   
Swan Membre non connecté

Administrateur

Rang

Avatar

Inscrit le : 01/08/2009 à 22h53

Messages: 8431

Le 01/12/2014 à 10h54
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 :study


swan_signature

Site web    
adrien80080 Membre non connecté

EDN actif(ve)

Rang

Avatar

Inscrit le : 30/11/2014 à 00h04

Messages: 8

Le 01/12/2014 à 16h39
Un grand merci ! Ca fonctionne parfaitement bien :)
Site web    
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 01/12/2014 à 17h05
adrien80080:
Un grand merci ! Ca fonctionne parfaitement bien :)

Bonjour,

sauf que sur votre site vous avez dédoublé le code et en plus vous l'avez mis dans NewsDisplaySeveralNewsController.tpl ce qui est faux et donne le mauvais lien (Cf : votre site).

Cordialement, janus57
   
Swan Membre non connecté

Administrateur

Rang

Avatar

Inscrit le : 01/08/2009 à 22h53

Messages: 8431

Le 01/03/2015 à 15h48
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 :study


swan_signature

Site web    
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 01/03/2015 à 15h52
Bonjour,

en générale page blanche = erreur de syntaxe.

Tu as rien dans les losg apache/php de WAMP ?

Cordialement, janus57
   
Swan Membre non connecté

Administrateur

Rang

Avatar

Inscrit le : 01/08/2009 à 22h53

Messages: 8431

Le 01/03/2015 à 18h32
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 :study


swan_signature

Site web    
Swan Membre non connecté

Administrateur

Rang

Avatar

Inscrit le : 01/08/2009 à 22h53

Messages: 8431

Le 02/03/2015 à 12h31
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 :study


swan_signature

Site web    
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 02/03/2015 à 12h42
Bonjour,

le PHP ne doit pas générer de bugs (normalement), tu n'aurais pas mis un commentaire sous forme de // ou # dans le TPL ?

Possible d'avoir le TPL qui bug ?

Cordialement, janus57
   
Swan Membre non connecté

Administrateur

Rang

Avatar

Inscrit le : 01/08/2009 à 22h53

Messages: 8431

Le 02/03/2015 à 13h59
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 ...

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à ..


swan_signature

Site web    
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 02/03/2015 à 14h19
Bonjour,

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
   
Swan Membre non connecté

Administrateur

Rang

Avatar

Inscrit le : 01/08/2009 à 22h53

Messages: 8431

Le 02/03/2015 à 18h05
Re,

Quel sont tes paramètres en administration ?
Compressions des pages activées ? Compilation des caches css et tpl aussi ? As tu essayé sans ?

Swan :study


swan_signature

Site web    
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 02/03/2015 à 18h10
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
   
Swan Membre non connecté

Administrateur

Rang

Avatar

Inscrit le : 01/08/2009 à 22h53

Messages: 8431

Le 02/03/2015 à 18h38
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.


swan_signature

Site web    
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 02/03/2015 à 18h43
Bonjour,

Perso je site de test est en 5.4.38 et le test original a été fait en PHP 5.3 de mémoire.

Pour moi le code donné fonctionne à 100% jamais eu de message d'erreur ou problème.

Cordialement, janus57
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie