Easy-Design.Net forum




Aide générale Facebook & Cie Assistance pour un débutant

vtt64 Membre non connecté

EDN Curieux(se)

Rang

Avatar

Inscrit le : 08/01/2010 à 19h05

Messages: 33

Le 16/02/2015 à 19h57

Reprise du message précédent

Je viens de modifier pour la partie forum, cependant je n'ai pas l'impression que cela fonctionne encore sur la fonction partage.
Site web    
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 16/02/2015 à 20h34
Bonjour,

@Swan : tu t'es planté dans ton code, tu as oublié un "/forum" :

De plus ton second code risque de ne pas fonctionner et pour preuve il génère ceci :
Code TEXT :
javascript:openExamplePopup('http://www.facebook.com/share.php?u=http://forum/topic-188+taille-photos.php#m1181','626','436','no');

Car il semblerait que si du texte est présent avant {PATH_TO_ROOT} c'est pas interprété.

Voici le code qui doit fonctionner :
Code TPL :
 
<a onclick="return fbs_click()" href="Javascript:openExamplePopup('http://www.facebook.com/share.php?u=http://<?php echo (isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : $_SERVER["SERVER_NAME"]); ?>/forum/topic{msg.U_VARS_ANCRE}#m{msg.ID}','626','436','no');"><img src="http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif" alt="share_icon" /></a> &nbsp;
 


EDIT :
MAJ + correction + mise en forme

Cordialement, janus57 Edité par janus57 Le 16/02/2015 à 20h45
   
vtt64 Membre non connecté

EDN Curieux(se)

Rang

Avatar

Inscrit le : 08/01/2010 à 19h05

Messages: 33

Le 16/02/2015 à 20h48
Bonsoir Janus57,
La partie forum fonctionne maintenant avec ce code.
C'est le même pour la partie News?

Un grand merci à vous tous pour l'assistance.
Site web    
Swan Membre non connecté

Administrateur

Rang

Avatar

Inscrit le : 01/08/2009 à 22h53

Messages: 8431

Le 16/02/2015 à 20h52
Ce topic est là pour ça Vtt674 , en même temps il me sert de correctif ^^

Pour le news, normalement cela devrait être bon, vu que c'est sur cette base que l'appel est généré.


swan_signature

Site web    
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 16/02/2015 à 20h55
Bonjour,

non il manque aussi un petit "/news/" dans le code de la news :
Code TPL :
<a onclick="return fbs_click()" href="Javascript:openExamplePopup('http://www.facebook.com/share.php?u=http://<?php echo (isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : $_SERVER["SERVER_NAME"]); ?>/news/{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>


Là y a tout qui devrait fonctionner du coup ;)

EDIT :
Pour toi @Swan et d'autre qui liront ce post, voici un petit "pense bête" vis à vis de $_SERVER["HTTP_HOST"] et $_SERVER["SERVER_NAME"].

$_SERVER["HTTP_HOST"] et $_SERVER["SERVER_NAME"] renvois tous les deux le nom du site sous la forme (www.)example.org

Il n'y a ni http:// avant ni "/" à la fin et il renvois ou non les www. en fonction de la configuration du serveur.

Cordialement, janus57 Edité par janus57 Le 16/02/2015 à 22h03
   
vtt64 Membre non connecté

EDN Curieux(se)

Rang

Avatar

Inscrit le : 08/01/2010 à 19h05

Messages: 33

Le 16/02/2015 à 20h59
Ce qui est étonnant c'est cette série de www.vtt64.com quand j'ouvre des anciens posts
Edité par vtt64 Le 16/02/2015 à 21h00
Site web    
vtt64 Membre non connecté

EDN Curieux(se)

Rang

Avatar

Inscrit le : 08/01/2010 à 19h05

Messages: 33

Le 16/02/2015 à 21h19
Si je ne me suis pas trompé, une erreur 404 dans les news.

Site web    
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 16/02/2015 à 21h50
Bonjour,

code des news mis à jour.

Cordialement, janus57
   
vtt64 Membre non connecté

EDN Curieux(se)

Rang

Avatar

Inscrit le : 08/01/2010 à 19h05

Messages: 33

Le 16/02/2015 à 22h05
Une fois de plus :
Merci à tous pour votre aide.
Site web    
vtt64 Membre non connecté

EDN Curieux(se)

Rang

Avatar

Inscrit le : 08/01/2010 à 19h05

Messages: 33

Le 16/02/2015 à 22h44
Question subsidiaire :
Seuls les deux premiers messages des posts sont pris en compte dans le partage FB.
A partir du troisième message on passe sur du lien partage "facebook.com"
Site web    
Swan Membre non connecté

Administrateur

Rang

Avatar

Inscrit le : 01/08/2009 à 22h53

Messages: 8431

Le 17/02/2015 à 00h54
Effectivement je viens d'aller sur ton fofo et c'est vrai .. Je regarderais demain pour une autre solution.


swan_signature

Site web    
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 17/02/2015 à 01h34
Bonjour,

bon pour le forum sa doit faire une genre de boucle et du coup sa merde au bout d'un moment, pourquoi je ne sais pas.

@Swan : je te conseil pour le moment de désactiver ce tuto car cela répète le javascript autant de fois qu'il y a de post donc déjà cela répète de façons "abusif"
Code HTML :
 
<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>
 


Il faudrait du coup plutôt mettre le JS dans forum_top.tpl

Pour le reste du code je cherche une alternative en JS.

Cordialement, janus57
   
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 17/02/2015 à 07h03
Bonjour,

je m'autorise un double post pour apporter les correctifs.

Déjà dans les 2 cas (news + forum) il faut supprimer "onclick="return fbs_click()"" qui génère une erreur JS et puis est totalement inutile, donc poubelle.

Ensuite pour le forum voici une autre solution :
dans forum_top.tpl après la ligne 81 ajouter :
Code TPL :
 
<script type="text/javascript">
<!--
function openExamplePopup(file,width,height,scrollbars){
if (scrollbars == '') {
scrollbars = 'no';
}
window.open('http://www.facebook.com/share.php?u=http://'+window.location.host+file,'_blank','top=50,left=50,width='+width+',height='+height+',scrollbars='+scrollbars);
   }
// -->
</script>
 


Ce qui pour le début du fichier donne :
Caché:

Code TPL :
 
<script type="text/javascript">
<!--
function Confirm_read_topics() {
return confirm("{L_CONFIRM_READ_TOPICS}");
}
 
//Rafraissiement des topics non lus.
function XMLHttpRequest_unread_topics(divID)
{
if( document.getElementById('refresh_unread' + divID) )
document.getElementById('refresh_unread' + divID).src = '{PATH_TO_ROOT}/templates/{THEME}/images/loading_mini.gif';
 
var xhr_object = xmlhttprequest_init('{PATH_TO_ROOT}/forum/xmlhttprequest.php?token={TOKEN}&refresh_unread=1');
xhr_object.onreadystatechange = function() 
{
if( xhr_object.readyState == 4 && xhr_object.status == 200 && xhr_object.responseText != '' )
{
if( document.getElementById('refresh_unread' + divID) )
document.getElementById('refresh_unread' + divID).src = '{PATH_TO_ROOT}/templates/{THEME}/images/refresh_mini.png';
 
var array_unread_topics = new Array('', '');
eval(xhr_object.responseText);
 
if( array_unread_topics[0] > 0 )
forum_display_block('forum_unread' + divID);
 
document.getElementById('nbr_unread_topics').innerHTML = array_unread_topics[1];
document.getElementById('nbr_unread_topics2').innerHTML = array_unread_topics[1];
document.getElementById('forum_blockforum_unread').innerHTML = array_unread_topics[2];
document.getElementById('forum_blockforum_unread2').innerHTML = array_unread_topics[2];
}
else if( xhr_object.readyState == 4 && xhr_object.responseText == '' )
{
alert("{L_AUTH_ERROR}");
if( document.getElementById('refresh_unread' + divID) )
document.getElementById('refresh_unread' + divID).src = '{PATH_TO_ROOT}/templates/{THEME}/images/refresh_mini.png';
}
}
xmlhttprequest_sender(xhr_object, null);
}
 
var delay_forum = 1000;
var timeout_forum;
var displayed_forum = false;
var previous_forumblock;
 
//Affiche le bloc.
function forum_display_block(divID)
{
if( timeout_forum )
clearTimeout(timeout_forum);
 
var block = document.getElementById('forum_block' + divID);
if( block.style.display == 'none' )
{
if( document.getElementById(previous_forumblock) )
document.getElementById(previous_forumblock).style.display = 'none';
block.style.display = 'block';
displayed_forum = true;
previous_forumblock = 'forum_block' + divID;
}
else
{
block.style.display = 'none';
displayed_forum = false;
}
}
 
//Cache le bloc.
function forum_hide_block(forumid, stop)
{
if( stop && timeout_forum )
clearTimeout(timeout_forum);
else if( displayed_forum )
{
clearTimeout(timeout_forum);
timeout_forum = setTimeout('forum_display_block('' + forumid + '')', delay_forum);
}
}
-->
</script>
<script type="text/javascript">
<!--
function openExamplePopup(file,width,height,scrollbars){
if (scrollbars == '') {
scrollbars = 'no';
}
window.open('http://www.facebook.com/share.php?u=http://'+window.location.host+file,'_blank','top=50,left=50,width='+width+',height='+height+',scrollbars='+scrollbars);
   }
// -->
</script>
 



Ensuite dans forum_topic.tpl après la ligne 257 ajouter ce code :
Code TPL :
 
<a href="Javascript:openExamplePopup('{PATH_TO_ROOT}/forum/topic{msg.U_VARS_ANCRE}#m{msg.ID}','626','436','no');"><img src="http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif" alt="share_icon" /></a>
 


Ce qui donne autour de cette ligne quelque chose du genre :
Caché:

Code TPL :
 
&nbsp;&nbsp;<a href="{U_TITLE_T}#go_top" onclick="new Effect.ScrollTo('go_top',{duration:1.2}); return false;"><img src="{PATH_TO_ROOT}/templates/{THEME}/images/top.png" alt="" /></a> <a href="{U_TITLE_T}#go_bottom" onclick="new Effect.ScrollTo('go_bottom',{duration:1.2}); return false;"><img src="{PATH_TO_ROOT}/templates/{THEME}/images/bottom.png" alt="" /></a>&nbsp;&nbsp;
<a href="Javascript:openExamplePopup('{PATH_TO_ROOT}/forum/topic{msg.U_VARS_ANCRE}#m{msg.ID}','626','436','no');"><img src="http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif" alt="share_icon" /></a>
</span>
</div>
 



Et voilà normalement cela fonctionne sans aucun problème.

Cela a déjà été testé et mis en production sur le site de VTT64, donc ce code est a utiliser uniquement pour le forum vu que le code avec PHP passe très bien sur les news (sa doit être parce que le TPL du forum boucle).

Cordialement, janus57
   
Swan Membre non connecté

Administrateur

Rang

Avatar

Inscrit le : 01/08/2009 à 22h53

Messages: 8431

Le 18/02/2015 à 12h15
Bonjour,

Pour la boucle je m'en suis aperçue ..

Pour la partie PHP dans les liens, je voulais passer par le path_to_root pour éviter les soucis de placement vu que le php est traité avant le tpl. Et que normalement depuis la 4.0 il doit être initialisé par tout les modules. Une solution bien plus simple ..

Je mets en indisponibilité ce tuto , le temps de trouver un palliatif à ce problème.

Swan :study


swan_signature

Site web    
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 18/02/2015 à 14h18
Bonjour,

j'ai mis les correctif plus haut ;)

Sinon tu n'y arrivera jamais avec le {PATH_TO_ROOT} sachant qu'il renvois une URL relative et non absolue.

Si tu veux absolument utiliser le {PATH_TO_ROOT} tu a la correction juste au dessus de ton message, les corrections donnée ont été testé en local + ligne et sont déjà en production sur le site de @vtt64 si tu as envie de tester.

Cordialement, janus57
   
Swan Membre non connecté

Administrateur

Rang

Avatar

Inscrit le : 01/08/2009 à 22h53

Messages: 8431

Le 19/02/2015 à 13h15
Re,

Les articles sont mis à jours dans PHPBoost V4.XX : les extras

Swan :study


swan_signature

Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie