Forums d'entraide informatique - Les forums de PCW

Version complète : Un lecteur RSS pour chaque forum.
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Pages : 1 2 3 4
Salut Sheitan,

Si j'ai bien compris tu veux que pour chaque sous-forum de ton forum, un lien s'affiche et qui pointe... vers le flux RSS de ce forum c'est cela ?

Quand on clique sur le lien il se passerait quoi au juste ?
Bonjour troll, comment vas tu?

oui donc en fait tu peux voir ce que j'ai fait sur l'index de mon forum,
j'ai mis une colone avec un bouton rss pour chaque forum,
http://espace-bonsai.xooit.info/index.php
et j'aimerai que quand les membres cliques sur ce bouton, il arrivent sur le rss du forum approprié,
je sais qu'il est possible d'aller au rss d'un forum en particulier
en faisant comme ça,
ex: pour le premier "Reception"
http://espace-bonsai.xooit.info/rss.php?f=23

je pense qu'il faut javascript car on ne peut pas mettre les liens comme ça en html puisque pour chaque forum le code est le même.
je sais pas trop si c'est possible avec nos forums xooit.

PS: as tu eu des nouvelles de xooit pour avoir la base de donnés de nos forums, j'avait vu que tu en avait fait la demande plusieurs fois et que c'était un peu euh, 'oulé oulé' :mrgreen:

Merci pour ton aide. ++
Salut Sheitan,

Je vais bien (crevé mais bon Smile ) j'espère que toi aussi.


Je vois ce que tu veux faire.

Le plus simple c'est en fait de faire un tableau que tu crées dans le header de la page par exemple, ou un objet, comme tu veux, qui contient l'url du flux pour chaque forum.

Ensuite dans ton template j'imagine, où tu as rajouté la colonne, tu met un truc du genre :



<a href="JavaScript:void(0);" onclick="GoTo(GetMyRssUrl(this));" ><img src="..." /></a>



Et voici les fonctions, en partie du moins :



function GoTo(url) {
location.href = url;
}



Et la fonction GetMyRssUrl() il faudrait qu'elle récupère l'url du Flux... là est la complication.

En somme, voici une astuce :

  • Tu créer un tableau, qui a par exemple pour clés les numéro des urls de tes sous forums.
  • La fonction GetMyRssUrl() récupère ensuite l'url du fofo dont elle est dans la même ligne du tableau, puis cherche avec l'array créé plus haut...


Je sais pas si j'ai été clair :



// A mettre dans le header de ton index.php
var MyRssUrls = [ ];
MyRssUrls["fXX"] = "urldufluxduforumfXX";
MyRssUrls["fXX"] = "urldufluxduforumfXX";
MyRssUrls["fXX"] = "urldufluxduforumfXX";
MyRssUrls["fXX"] = "urldufluxduforumfXX";
MyRssUrls["fXX"] = "urldufluxduforumfXX";

function GetMyRssUrl(a) {
// On remonte jusqu'à la balise <tr> englobant ce ss-forum-ci :
var ssforum = a.parentNode.parentNode.ChildNodes[1];
// <a est enfant de <td> et <tr> et la <td> qui contient le lien vers le fofo est le deuxieme <td> de la <tr>

var link = ssforum.getElementByTagName("a")[0].href;
var cle = link.replace(/^(.*?)\/(f[0-9]+)\-(.*?)$/i, "");

return MyRssUrls[cle];
}






[HS] Pour Xooit, je ne sais pas ce qu'il fiche, on a toujours pas de réelles nouvelles de lui la dernière fois que je suis passé sur le forum Xooit[/HS]

Troll a écrit :Salut Sheitan,

Je vais bien (crevé mais bon Smile ) j'espère que toi aussi.


Impec merci Big Grin
j'ai le cerveau un peu retourné avec ce que je viens de lire, pourtant ça parait très bien expliqué

Moi en fait je comprend pas trop l'histoire du tableau, j'ai mis:

Dans le template overall.header (entre <head></head>):

&amp;#60;script type="text/javascript"&amp;#62;
var MyRssUrls = &amp;#91; &amp;#93;;
MyRssUrls&amp;#91;"f23"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=23";
MyRssUrls&amp;#91;"f1"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=1";
MyRssUrls&amp;#91;"f40"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=40";
MyRssUrls&amp;#91;"f7"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=7";
MyRssUrls&amp;#91;"f72"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=72";
//---------

MyRssUrls&amp;#91;"f94"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=94";
MyRssUrls&amp;#91;"f89"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=89";
MyRssUrls&amp;#91;"f69"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=69";
MyRssUrls&amp;#91;"f41"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=41";
MyRssUrls&amp;#91;"f5"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=5";
MyRssUrls&amp;#91;"f21"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=21";
//---------

MyRssUrls&amp;#91;"f20"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=20";
MyRssUrls&amp;#91;"f64"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=64";
MyRssUrls&amp;#91;"f10"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=10";
MyRssUrls&amp;#91;"f18"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=18";
MyRssUrls&amp;#91;"f24"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=24";
MyRssUrls&amp;#91;"f42"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=42";
//---------

MyRssUrls&amp;#91;"f9"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=9";
MyRssUrls&amp;#91;"f50"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=50";
MyRssUrls&amp;#91;"f54"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=54";
MyRssUrls&amp;#91;"f19"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=19";
MyRssUrls&amp;#91;"f35"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=35";
//---------

MyRssUrls&amp;#91;"f63"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=63";
MyRssUrls&amp;#91;"f22"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=22";
MyRssUrls&amp;#91;"f8"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=8";
MyRssUrls&amp;#91;"f77"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=77";
//---------

MyRssUrls&amp;#91;"f27"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=27";

function GetMyRssUrl&amp;#40;a&amp;#41; &amp;#123;
// On remonte jusqu'à la balise &amp;#60;tr&amp;#62; englobant ce ss-forum-ci &amp;#58;
var ssforum = a.parentNode.parentNode.ChildNodes&amp;#91;1&amp;#93;;
// &amp;#60;a est enfant de &amp;#60;td&amp;#62; et &amp;#60;tr&amp;#62; et la &amp;#60;td&amp;#62; qui contient le lien vers le fofo est le deuxieme &amp;#60;td&amp;#62; de la &amp;#60;tr&amp;#62;

var link = ssforum.getElementByTagName&amp;#40;"a"&amp;#41;&amp;#91;0&amp;#93;.href;
var cle = link.replace&amp;#40;/^&amp;#40;.*?&amp;#41;\/&amp;#40;f&amp;#91;0-9&amp;#93;+&amp;#41;\-&amp;#40;.*?&amp;#41;$/i, ""&amp;#41;;

return MyRssUrls&amp;#91;cle&amp;#93;;
&amp;#125;
&amp;#60;/script&amp;#62;



et dans l'index:

&amp;#60;a href="JavaScript&amp;#58;void&amp;#40;0&amp;#41;;" onclick="GoTo&amp;#40;GetMyRssUrl&amp;#40;this&amp;#41;&amp;#41;;" target="_blank" title="Voir le RSS de ce forum"&amp;#62;&amp;#60;img src="http&amp;#58;//img23.xooimage.com/files/2/d/c/rss-4ef7f2.gif" border="0" alt="Flux RSS"&amp;#62;&amp;#60;/a&amp;#62;




-------
et ça m'ouvre bien une page mais toute blanche et sans url dans la barre d'adresse,
je pense que le lien ne trouve pas le script qui contient les url, surrement à cause de cette histoire de tableau.

peut-tu m'expliquer cette ligne également:

var cle = link.replace&amp;#40;/^&amp;#40;.*?&amp;#41;\/&amp;#40;f&amp;#91;0-9&amp;#93;+&amp;#41;\-&amp;#40;.*?&amp;#41;$/i, ""&amp;#41;; 



Merci de ton aide troll et pense à te reposer ! :mrgreen:

Salut Sheitan,


Humm... il trouve pas les valeurs...

Ah !

Manque un S à la fonction, faut mettre :

Citation :
var link = ssforum.getElementsByTagName("a")[0].href;



Sinon ce que tu me montre, c'est une expression rationnelle.

Elle prend l'url du forum, et supprime tout sauf le "f-XX" pour pouvoir ensuite récupérer la valeur dans le tableau créé dans le header.

Dis-moi si ça marche maintenant Wink
j'ai mis un S à la fonction que tu m'a dit,
ça m'ouvre une page blanche sans Url toujours,

et sinon je crois qu'il manquait un S aussi ici:

Citation :<!-- Flux-forums -->
<script type="text/javascript">
var MyRssUrls = [ ];
MyRssUrls["f23"] = "http://espace-bonsai.xooit.info/rss.php?f=23";
MyRssUrls["f1"] = "http://espace-bonsai.xooit.info/rss.php?f=1";
MyRssUrls["f40"] = "http://espace-bonsai.xooit.info/rss.php?f=40";
MyRssUrls["f7"] = "http://espace-bonsai.xooit.info/rss.php?f=7";
MyRssUrls["f72"] = "http://espace-bonsai.xooit.info/rss.php?f=72";
//---------

MyRssUrls["f94"] = "http://espace-bonsai.xooit.info/rss.php?f=94";
MyRssUrls["f89"] = "http://espace-bonsai.xooit.info/rss.php?f=89";
MyRssUrls["f69"] = "http://espace-bonsai.xooit.info/rss.php?f=69";
MyRssUrls["f41"] = "http://espace-bonsai.xooit.info/rss.php?f=41";
MyRssUrls["f5"] = "http://espace-bonsai.xooit.info/rss.php?f=5";
MyRssUrls["f21"] = "http://espace-bonsai.xooit.info/rss.php?f=21";
//---------

MyRssUrls["f20"] = "http://espace-bonsai.xooit.info/rss.php?f=20";
MyRssUrls["f64"] = "http://espace-bonsai.xooit.info/rss.php?f=64";
MyRssUrls["f10"] = "http://espace-bonsai.xooit.info/rss.php?f=10";
MyRssUrls["f18"] = "http://espace-bonsai.xooit.info/rss.php?f=18";
MyRssUrls["f24"] = "http://espace-bonsai.xooit.info/rss.php?f=24";
MyRssUrls["f42"] = "http://espace-bonsai.xooit.info/rss.php?f=42";
//---------

MyRssUrls["f9"] = "http://espace-bonsai.xooit.info/rss.php?f=9";
MyRssUrls["f50"] = "http://espace-bonsai.xooit.info/rss.php?f=50";
MyRssUrls["f54"] = "http://espace-bonsai.xooit.info/rss.php?f=54";
MyRssUrls["f19"] = "http://espace-bonsai.xooit.info/rss.php?f=19";
MyRssUrls["f35"] = "http://espace-bonsai.xooit.info/rss.php?f=35";
//---------

MyRssUrls["f63"] = "http://espace-bonsai.xooit.info/rss.php?f=63";
MyRssUrls["f22"] = "http://espace-bonsai.xooit.info/rss.php?f=22";
MyRssUrls["f8"] = "http://espace-bonsai.xooit.info/rss.php?f=8";
MyRssUrls["f77"] = "http://espace-bonsai.xooit.info/rss.php?f=77";
//---------

MyRssUrls["f27"] = "http://espace-bonsai.xooit.info/rss.php?f=27";

function GetMyRssUrls(a) {
// On remonte jusqu'à la balise <tr> englobant ce ss-forum-ci :
var ssforum = a.parentNode.parentNode.ChildNodes[1];
// <a est enfant de <td> et <tr> et la <td> qui contient le lien vers le fofo est le deuxieme <td> de la <tr>

var link = ssforum.getElementsByTagName("a")[0].href;
var cle = link.replace(/^(.*?)\/(f[0-9]+)\-(.*?)$/i, "$2");

return MyRssUrls[cle];
}
</script>
<!-- Flux-forums -->

mais je ne comprend pas l'histoire du tableau dans le header,
tu parle d'un tableau en html?

Moi j'ai mis le script plus haut dans mon template: overallheader.tpl
et j'ai mis le lien dans: indexbody.tpl

&amp;#60;a href="JavaScript&amp;#58;void&amp;#40;0&amp;#41;;" onclick="GoTo&amp;#40;GetMyRssUrls&amp;#40;this&amp;#41;&amp;#41;;" target="_blank" title="Voir le RSS de ce forum"&amp;#62;&amp;#60;img src="http&amp;#58;//img23.xooimage.com/files/2/d/c/rss-4ef7f2.gif" border="0" alt="Flux RSS"&amp;#62;&amp;#60;/a&amp;#62;


Et dans ce lien je crois aussi qu'il manquait un S à GetMyRssUrls mais c'était peut-être normal !?

Moi je n'ai mis que c'est deux codes rien d'autre, pas de tableau dans le header
ça vient surement de là :smoke:

Salut Sheitan,


MyRssUrls&amp;#91;"f77"&amp;#93; = "http&amp;#58;//espace-bonsai.xooit.info/rss.php?f=77";



:arrow: Ca c'est une ligne de code qui définie un élément du tableau MyRssUrls.

C'est ça le "tableau" dont je parle.


Et sinon bah non il ne manquait pas de S : si je met pas de S dans la fonction quand je la crée, ni quand je l'appelle, il n'y a pas de problème ^^


Bon on va débugger, j'ai pas le temps désolé de le faire moi-même, rajoute ceci :



alert&amp;#40;ssforum&amp;#41;;
alert&amp;#40;link&amp;#41;;
alert&amp;#40;cle&amp;#41;;
alert&amp;#40;MyRssUrls&amp;#91;cle&amp;#93;&amp;#41;;



Juste avant le "return MyRssUrls[cle];" Wink

Note : fais le sur une page du thème de test, car ça affichera quatre boîtes de dialogue à chaque clic.

Ensuite essaies de cliquer sur quelques-un, et dis-moi ce que ça te renvoit (donne les messages que ça affiche dans l'ordre où ils s'affichent évidemment, pour que je sache à quoi correspond quoi).

J'ai ajouter les boites d'alerte, mais quand je clique ça m'ouvre la page blanche sans boite d'alerte sous firefox, pareil sous ie sauf que la page est pas blanche, c'est marqué 'impossible d'afficher la page et en dessous ça:
Impossible de trouver le serveur ou erreur DNS
M'enfin si tu est occupé on verra ça plus tard car ce n'est pas présser.
Merci Wink
Salut Sheitan,

Sans boîte d'alerte O_O

Ca planterait avant ?

Sous Firefox vas dans la console de débuggage (CTRL + SHIFT + J normalement , sinon outils >> console d'erreur).

Clique sur le bouton "Erreurs" en haut.

Effaces la console.

Recharges la page avec les scripts etc.

Là, si tu as un message d'erreur donnes le moi.

Sinon s'il n'y en a pas alors clique sur le lien, et là tu devrais l'avoir ensuite dans la console ton message d'erreur Wink
Pages : 1 2 3 4
URLs de référence