Aide générale Facebook & Cie Assistance pour un débutant
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 :
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 :
EDIT :
MAJ + correction + mise en forme
Cordialement, janus57 Edité par janus57 Le 16/02/2015 à 20h45
@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>
EDIT :
MAJ + correction + mise en forme
Cordialement, janus57 Edité par janus57 Le 16/02/2015 à 20h45
Bonjour,
non il manque aussi un petit "/news/" dans le code de la news :
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
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
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
Edité par vtt64 Le 16/02/2015 à 21h00
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"
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
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 :
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
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 :
Ce qui pour le début du fichier donne :
Caché:
Ensuite dans forum_topic.tpl après la ligne 257 ajouter ce code :
Ce qui donne autour de cette ligne quelque chose du genre :
Caché:
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
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 :
Ce qui donne autour de cette ligne quelque chose du genre :
Caché:
Code TPL :
<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> <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
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
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
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
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
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie