Script pour faire un index d'un forum

2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Script pour faire un index d'un forum

Message par Hakaan Jeu 21 Fév 2019 - 6:26

Détails techniques

Version du forum : phpBB3
Poste occupé : Administrateur
Navigateur(s) concerné(s) : Google Chrome
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : (lien masqué, vous devez poster pour le voir)

Description du problème

Bonjour,
mon idée complète serait d'afficher une colonne des sujets affichant les sujets d'une forum spécifique plutôt que tout les sujets intégralement,
donc je cherche un script capable de faire une telle chose,
j'avais déjà testé ce script : https://forum.forumactif.com/t300301-indexation-d-une-section mais non seulement cela génère une page qui sert à générer l'index et non pas l'index directement,
mais en plus l'affichage ne me convient pas,
et le script utilisant du code que je ne connais pas je ne sais pas comment le modifier,
mais en lui même il est la preuve que cela peut se faire, il faudrait jusque que j'arrive à avoir l'équivalent mais qui génère directement l'index et sur lequel je puisse travailler la mise en forme pour pouvoir le mettre dans un widget qui servira de colonne à afficher les sujets


Dernière édition par Hakaan le Dim 24 Fév 2019 - 10:50, édité 1 fois
Hakaan

Hakaan
Nouveau membre

Messages : 28
Inscrit(e) le : 10/05/2018

https://forum.forumactif.com
Hakaan a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Invité Sam 23 Fév 2019 - 7:06

Hello Hakaan,

tu peux créer un Widget:
https://forum.forumactif.com/t233284-installation-modification-de-widgets#2141122


Ensuite trouver le lien du forum concerné:

Puis dans le module "Source du widget" déposes ceci:

Code:
 
<div class="M14_topics">
</div>
        <script>

jQuery(function(){
jQuery('.M14_topics').load('/f10-blabla a.topictitle:lt(10)');
});
    </script>

Remplaces:
Code:
/f10-blabla

par le forum désiré.
Puis le nombre du sujets a afficher ici:
Code:
:lt(10)

Puis un peu de style:
Dans la feuille de style:
Affichage/Images et Couleurs/Couleurs/Feuille de style

Ajoutes ceci:

Code:

/*Les sujets dans le widget*/

.M14_topics a.topictitle
{

width:200px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: list-item;
text-decoration:none!important;
color:orange !important;
}




Penses à cliquer sur le bouton Script pour faire un index d'un forum Sans_t10

Selon la largeur de tes widgets, il faudra peut être diminuer ou augmenter le width:200px .

Et voilou Wink .

a++


Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Hakaan Sam 23 Fév 2019 - 7:57

Salut, merci pour ta réponse très claire et détaillée, c'est déjà rare qu'on en ait une ici

Effectivement ça fonctionne, y'a un petit problème de retour à la ligne qui ne se fait pas donc les lignes se barrent au dela du cadre mais je devrais pouvoir corriger ça dans le CSS

Il n'y a pas le nom du posteur ni la date comme dans la vraie colonne du forum mais c'est deja pas mal

Hakaan

Hakaan
Nouveau membre

Messages : 28
Inscrit(e) le : 10/05/2018

https://forum.forumactif.com
Hakaan a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Invité Sam 23 Fév 2019 - 8:34

Re,
Hakaan a écrit:Effectivement ça fonctionne, y'a un petit problème de retour à la ligne qui ne se fait pas donc les lignes se barrent au dela du cadre mais je devrais pouvoir corriger ça dans le CSS
comme mentionné sur mon message précédent soit:

Il faut diminuer la valeur 200px à 180px Wink

Il n'y a pas le nom du posteur ni la date comme dans la vraie colonne du forum mais c'est déjà pas mal

Le script va juste rechercher le titre et le lien du forum concerné.
En se basant sur la liste des sujets du forum concerné.

On peut sinon pour afficher l'auteur mais pas la date ( ce sera au survol du titre du sujet)
Car on ne pourra pas afficher la totalité , vu que les widgets ne dépassent guère 200px de large et qu'il faut prendre en compte des titres de sujets très longs,donc il vaut mieux afficher l'essentiel et au survol , tu auras le titre complet ainsi que l'auteur du topic.

Pour cela on va changer le script par celui-ci:

en tenant compte de ton widget figurant en bas de page à droite sur ton fofo.

Le forum étant celui-ci:
Code:
/f18-theologie-philosophie

Que tu retrouves au début du script:
Code:
jQuery.get('/f18-theologie-philosophie'

Code:
 
<div class="M14_topics">
</div>
        <script>
jQuery(function(){
jQuery.get('/f18-theologie-philosophie' , function(data){
jQuery(data).find('dd.dterm').each(function(){
var texte=jQuery(this).find('.topic-title-container a.topictitle').text();
var link=jQuery(this).find('.topic-title-container a.topictitle').attr('href');
var author=jQuery(this).find('.span-tab a[href^="/u"]').text();
jQuery('.M14_topics').append('<a class="topictitle"href="'+link+'"title="'+texte+' posté par '+author+'">'+texte+'</a>')

});
    });    });
</script>


a++

Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Hakaan Sam 23 Fév 2019 - 8:50

En fait j'ai testé ton 2ème code mais ca me fait strictement la même chose que le 1er,
le problème c'est que les titres au lieu de partir en retour à la ligne sortent du cadre, et je n'arrive pas à modifier ça
Hakaan

Hakaan
Nouveau membre

Messages : 28
Inscrit(e) le : 10/05/2018

https://forum.forumactif.com
Hakaan a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Hakaan Sam 23 Fév 2019 - 9:42

J'ai trouvé comment avoir un retour à la ligne, il suffit de virer la ligne "white-space: nowrap;" du CSS

faudrait juste que j'arrive à faire fonctionner ton code pour avoir le nom de l'auteur et ce serait parfait
Hakaan

Hakaan
Nouveau membre

Messages : 28
Inscrit(e) le : 10/05/2018

https://forum.forumactif.com
Hakaan a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Invité Sam 23 Fév 2019 - 9:49

Re,
non le script est totalement différent que le premier mon ami.
Tu dois avoir une infobulle au survol des titres du widget et ce n'est pas le cas actuellement!!


Il faut supprimer ceci dans ton widget:
Code:
 
  <script>
 
jQuery(function(){
jQuery('.M14_topics').load('/f10-blabla a.topictitle:lt(10)');
});
    </script>

a++
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Hakaan Sam 23 Fév 2019 - 9:58

Chez moi l'infobulle fonctionne mais seulement à partir de la 11ème sur les 2 versions du code c'est bizarre

Par contre le widget ne respect pas le nombre de sujets que je lui demande là il m'en affiche plein, et parfois quand je recharge la page il indique juste les 10 comme demandé..
Hakaan

Hakaan
Nouveau membre

Messages : 28
Inscrit(e) le : 10/05/2018

https://forum.forumactif.com
Hakaan a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Invité Sam 23 Fév 2019 - 9:59

Re,
comme mentionné sur mon précédent message(édité).
Tu veux en avoir que 10?
Il faut remplacer le contenu du widget par celui-ci:
Code:
 
<div class="M14_topics">
</div>
        <script>
jQuery(function(){
jQuery.get('/f18-theologie-philosophie' , function(data){
jQuery(data).find('dd.dterm').each(function(){
var texte=jQuery(this).find('.topic-title-container a.topictitle').text();
var link=jQuery(this).find('.topic-title-container a.topictitle').attr('href');
var author=jQuery(this).find('.span-tab a[href^="/u"]').text();
jQuery('.M14_topics').append('<a class="topictitle"href="'+link+'"title="'+texte+' posté par '+author+'">'+texte+'</a>')
 
});
    });    });
</script>


a++
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Hakaan Sam 23 Fév 2019 - 10:07

Oui c'est bien ce que j'ai fait, j'ai remplacé intégralement le contenu du widget par le code donné au dessus

(si tu en vois 2 c'est parce que je testais les 2 versions du code dans 2 widgets différents en même temps)

Par contre j'ai re-copier/coller ton code et j'en ai toujours beaucoup plus que 10, d'ailleurs je vois pas ou est le paramètre "10" dans le code
Hakaan

Hakaan
Nouveau membre

Messages : 28
Inscrit(e) le : 10/05/2018

https://forum.forumactif.com
Hakaan a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Invité Sam 23 Fév 2019 - 11:20

Re,
Par contre le 2ème code ne permet pas de sélectionner le nombre de ligne voulue du coup ca fait un sacré pâté


Oui il reprend tous les sujets présents dans la liste des sujets du fofo concerné.
remplaces le contenu du widget par celui-ci:

Code:

  
<div class="M14_topics">
</div>
        <script>
jQuery(function(){
jQuery.get('/f18-theologie-philosophie' , function(data){
jQuery(data).find('dd.dterm:lt(10)').each(function(){
var texte=jQuery(this).find('.topic-title-container a.topictitle').text();
var link=jQuery(this).find('.topic-title-container a.topictitle').attr('href');
var author=jQuery(this).find('.span-tab a[href^="/u"]').text();
jQuery('.M14_topics').append('<a class="topictitle"href="'+link+'"title="'+texte+' posté par '+author+'">'+texte+'</a>')
 
});
    });    });
</script>

Je regarde pour la date Wink

a++
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Hakaan Sam 23 Fév 2019 - 11:32

un grand merci ça marche,
oui s'il était possible d'ajouter l'auteur et la date ce serait encore mieux,
c'est un code maison ou tu l'as trouvé quelque part ? (je connais pas bien jquery)
Hakaan

Hakaan
Nouveau membre

Messages : 28
Inscrit(e) le : 10/05/2018

https://forum.forumactif.com
Hakaan a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Invité Sam 23 Fév 2019 - 11:38

Re,
l'auteur est affiché au survol.

Script pour faire un index d'un forum 00110

Pour la date:

Dans le template topics_list_box:
Affichage/Templates/Général/topics_list_box

Recherches ceci (ligne 121 environ):
Code:

{topics_list_box.row.LAST_POST_TIME}

supprimes et remplaces par:
Code:

<span class="M14_date">{topics_list_box.row.LAST_POST_TIME}</span>

Penses à enregistrer puis à valider en cliquant respectivement sur  :enreg: puis Script pour faire un index d'un forum 824052533

Ensuite remplaces le contenu de ton widget par celui-ci:


Code:

<div class="M14_topics">
</div>
        <script>
jQuery(function(){
jQuery.get('/f18-theologie-philosophie' , function(data){
jQuery(data).find('dd.dterm:lt(10)').each(function(){
var texte=jQuery(this).find('.topic-title-container a.topictitle').text();
var link=jQuery(this).find('.topic-title-container a.topictitle').attr('href');
var author=jQuery(this).closest('dl').find('.lastpost a[href^="/u"]').text();
var date=jQuery(this).closest('dl').find('.M14_date').text();
jQuery('.M14_topics').append('<a class="topictitle"href="'+link+'"title="'+texte+' par '+author+' '+date+'">'+texte+'</a>');
});});});

</script>




J'ai quelque peu modifié le script car je donnais l'auteur du sujet alors que l'on cherche l'auteur du dernier message.

je connais pas bien jquery, c'est un code maison ou tu l'as trouvé quelque part ?

Non,c'est bien moi, si tu as le temps, tu peux venir faire un tour sur mon fofo   Wink  .



a++
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Hakaan Sam 23 Fév 2019 - 11:52

C'est bon ça fonctionne merci

l'auteur est affiché au survol.
Oui ça j'ai bien compris mais n'y a t'il pas moyen de le mettre à la suite du titre du topic comme sur la vraie colonne des derniers sujets ?
Hakaan

Hakaan
Nouveau membre

Messages : 28
Inscrit(e) le : 10/05/2018

https://forum.forumactif.com
Hakaan a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Invité Sam 23 Fév 2019 - 12:04

Re,


tu peux remplacer le contenu du widget par celui-ci:
Code:
<div class="M14_topics">
</div>
        <script>jQuery(function(){
jQuery.get('/f2-essais2' , function(data){
jQuery(data).find('dd.dterm:lt(10)').each(function(){
var texte=jQuery(this).find('.topic-title-container a.topictitle').text();
var link=jQuery(this).closest('dl').find('.lastpost a[href^="/t"]').attr('href');
var author=jQuery(this).closest('dl').find('.lastpost a[href^="/u"]').text();
var date=jQuery(this).closest('dl').find('.M14_date').text();
if(author)
{
jQuery('.M14_topics').append('<a class="topictitle"href="'+link+'"title="'+texte+'  '+date+'">'+texte+' par '+author+'</a>');
}
else
{
jQuery('.M14_topics').append('<a class="topictitle"href="'+link+'"title="'+texte+' par Invité '+date+'">'+texte+' par invité</a>');   
}
});});});</script>

Je dois filer.
A ce soir Wink .

a++
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Script pour faire un index d'un forum

Message par Hakaan Sam 23 Fév 2019 - 12:16

Ouaaahh génial merci c'est exactement ce que je voulais

j'ai ajouté '+date+' pour avoir aussi la date après l'auteur maintenant c'est exactement comme la colonne des sujets
Hakaan

Hakaan
Nouveau membre

Messages : 28
Inscrit(e) le : 10/05/2018

https://forum.forumactif.com
Hakaan a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Invité Sam 23 Fév 2019 - 14:16

Re,
effectivement c'est son portrait craché Very Happy.
Bonne fin de journée.
a++
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script pour faire un index d'un forum

Message par Chacha Dim 24 Fév 2019 - 9:56

Hakaan a écrit:Ouaaahh génial merci c'est exactement ce que je voulais

j'ai ajouté '+date+' pour avoir aussi la date après l'auteur maintenant c'est exactement comme la colonne des sujets
Script pour faire un index d'un forum MHDoUixBonjour,

Afin de faciliter la gestion des problèmes, si le vôtre est résolu, pensez à :
  • éditer votre premier message,
  • cocher l'icône résolu et enregistrer
Vous pouvez également remercier les personnes qui vous ont aidé, en cliquant sur le bouton Script pour faire un index d'un forum UsrblLM
Chacha

Chacha
Modéractif
Modéractif

Masculin
Messages : 69445
Inscrit(e) le : 21/08/2010

https://forum.forumactif.com/
Chacha a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum