Ajouter la date lors de la citation d'un message
3 participants
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Gérer l'apparence de son forum :: Archives des problèmes avec l'apparence du forum
Page 1 sur 1 • Partagez
Re: Ajouter la date lors de la citation d'un message
C'est qqch que j'aimerais aussi avoir, et depuis longtemps... si quelqu'un a une solution?
Re: Ajouter la date lors de la citation d'un message
Bonjour !
Techniquement, quelle serait exactement la demande ? Récupérer automatiquement la date, ou juste l'écrire quelque part et faire en sorte qu'elle apparaisse comme sur votre capture d'écran ? Et ce serait pour quelle version de forumactif, pour quel forum ?
La récupération automatique, j'ai des doutes, il faudrait que je réfléchisse.
Mais pour l'écrire manuellement et la faire s'afficher comme vous le voulez, ça me parait tout à fait faisable !
Techniquement, quelle serait exactement la demande ? Récupérer automatiquement la date, ou juste l'écrire quelque part et faire en sorte qu'elle apparaisse comme sur votre capture d'écran ? Et ce serait pour quelle version de forumactif, pour quel forum ?
La récupération automatique, j'ai des doutes, il faudrait que je réfléchisse.
Mais pour l'écrire manuellement et la faire s'afficher comme vous le voulez, ça me parait tout à fait faisable !
Re: Ajouter la date lors de la citation d'un message
Bonsoir Toryudo
Il s'agit d'un forum en phpBB3 . Voici son adresse : https://legrele.forumactif.org/
Le souhait c'est que la date à laquelle le message a été écrit soit récupérée et appraisse automatiquement à la suite du pseudo du membre (qui a écrit ce message).
En modifiant un code JavaScript, peut-être ?
Sinon, oui bien sûr, il est assez simple de l'afficher en cliquant sur l'icône quote dans le menu et en remplissant manuellement le pseudo du membre, puis a écrit, puis la date en question :
Merci en tout cas de bien vouloir y réfléchir.
Il s'agit d'un forum en phpBB3 . Voici son adresse : https://legrele.forumactif.org/
Le souhait c'est que la date à laquelle le message a été écrit soit récupérée et appraisse automatiquement à la suite du pseudo du membre (qui a écrit ce message).
En modifiant un code JavaScript, peut-être ?
Sinon, oui bien sûr, il est assez simple de l'afficher en cliquant sur l'icône quote dans le menu et en remplissant manuellement le pseudo du membre, puis a écrit, puis la date en question :
Toryudo a écrit le 3/9/2023 a écrit:Techniquement, quelle serait exactement la demande ?
Merci en tout cas de bien vouloir y réfléchir.
Re: Ajouter la date lors de la citation d'un message
Bonjour !
Bon, pas simple.
Il n'y a pas de lien entre un message posté et un message cité, ça, je m'en doutais. Ça veut dire qu'on ne peut pas mettre ça en place rétroactivement. Le seul endroit où il y a une information exploitable, c'est sur la page de citation directement. Si je cite mon message précédent, je tombe sur la page https://forum.forumactif.com/post?p=3409103&mode=quote : je peux donc récupérer le numéro de message #3409103 à partir de l'url.
Ça permet de faire un script qui va chercher le message original, récupère la date du post, et enfin, édite le champ de message pour remplacer le [quote="Toryudo"] de départ par [quote="Toryudo Hier à 9"]
Bon, on voit déjà plusieurs problèmes :
- aller chercher la date en chargeant une autre page via Javascript, ça provoque un petit "délai", le temps que tout ça se fasse
- ce qu'on va récupérer dépend de l'affichage de la date sur le forum. Dans mon exemple, je ne peux que récupérer "Hier à 9:43", et ce "Hier" n'est pas très... parlant, c'est sûr. Il faudra peut-être obliger un autre affichage de date pour avoir quelque chose de propre
En tout cas, vous pouvez déjà essayer ce premier test, à placer "Sur toutes les pages" :
Je vous laisse faire plusieurs tests, j'ai l'impression que ça marche, mais peut-être pas à tous les coups !
Bon, pas simple.
Il n'y a pas de lien entre un message posté et un message cité, ça, je m'en doutais. Ça veut dire qu'on ne peut pas mettre ça en place rétroactivement. Le seul endroit où il y a une information exploitable, c'est sur la page de citation directement. Si je cite mon message précédent, je tombe sur la page https://forum.forumactif.com/post?p=3409103&mode=quote : je peux donc récupérer le numéro de message #3409103 à partir de l'url.
Ça permet de faire un script qui va chercher le message original, récupère la date du post, et enfin, édite le champ de message pour remplacer le [quote="Toryudo"] de départ par [quote="Toryudo Hier à 9"]
Bon, on voit déjà plusieurs problèmes :
- aller chercher la date en chargeant une autre page via Javascript, ça provoque un petit "délai", le temps que tout ça se fasse
- ce qu'on va récupérer dépend de l'affichage de la date sur le forum. Dans mon exemple, je ne peux que récupérer "Hier à 9:43", et ce "Hier" n'est pas très... parlant, c'est sûr. Il faudra peut-être obliger un autre affichage de date pour avoir quelque chose de propre
En tout cas, vous pouvez déjà essayer ce premier test, à placer "Sur toutes les pages" :
- Code:
const params = new URLSearchParams(window.location.search);
const message = params.get('p');
if (message){
$.get( "/viewtopic.php?p=" + message, function( data ) {
let date = $(data).find('#p' + message + ' .author').text();
let dateArray = date.split(' ');
let author = dateArray.shift().replace('par', '').trim();
date = dateArray.join(' ');
const txtPost = $('textarea').sceditor('instance').val();
$('textarea').sceditor('instance').val(txtPost.replace(/\[quote="[^"]*"\]/i, '[quote="' + author + ' ' + date + '"]'));
});
}
Je vous laisse faire plusieurs tests, j'ai l'impression que ça marche, mais peut-être pas à tous les coups !
Re: Ajouter la date lors de la citation d'un message
Bonjour !
Oui, je pense que ce serait possible à l'aide d'un autre script.
On peut même totalement changer la phrase s'il faut !
Qu'est-ce que vous voudriez exactement ?
"Pondyness a écrit le Mer 06 Sep 2023, 10:37" ?
"Le Mer 06 Sep 2023, 10:37, Pondyness a écrit:" ?
Autre chose de plus propre encore ?
Oui, je pense que ce serait possible à l'aide d'un autre script.
On peut même totalement changer la phrase s'il faut !
Qu'est-ce que vous voudriez exactement ?
"Pondyness a écrit le Mer 06 Sep 2023, 10:37" ?
"Le Mer 06 Sep 2023, 10:37, Pondyness a écrit:" ?
Autre chose de plus propre encore ?
Re: Ajouter la date lors de la citation d'un message
À mon avis, l'idéal serait :
"Le 6 septembre 2023, à10h37, Pondyness a écrit : "
Mais sinon, "Le Mer 06 Sep 2023, 10:37, Pondyness a écrit:", ce serait déjà très bien.
Merci.
"Le 6 septembre 2023, à10h37, Pondyness a écrit : "
Mais sinon, "Le Mer 06 Sep 2023, 10:37, Pondyness a écrit:", ce serait déjà très bien.
Merci.
Re: Ajouter la date lors de la citation d'un message
Bonjour !
Alors, après pas mal de tests, j'ai modifié la façon de faire : c'est un peu contraire à ce que je voulais faire à la base, mais au moins, tous les cas seront correctement traités. On change un peu d'idée : quand on est sur la page de citation https://forum.forumactif.com/post?p=3409103&mode=quote on ne récupère plus la date du message, mais uniquement le numéro du message qu'on trouvait déjà dans l'url.
[quote="Toryudo"] va donc devenir [quote="3409103ŦToryudo"] au moment de l'édition, soit le numéro du message cité et un caractère Ŧ entre le numéro et le pseudo.
Ensuite, c'est au moment de l'affichage d'un sujet que le script va aller chercher la date et la formater comme il faut. C'est plus pratique, parce qu'on se débarrasse du problème des "Aujourd'hui" et "Hier". Deuxième avantage, c'est que si on veut modifier le format d'affichage un jour, ça modifiera partout en même temps. Seul désavantage, c'est qu'on va récupérer le message correspondant à la citation à chaque fois, c'est un peu plus de requêtes.
Au niveau du format des dates, j'ai donc :
- retiré le jour de la semaine et ajouté "Le " devant (sauf si on affiche "Aujourd'hui" et "Hier")
- remplacé le diminutif du mois par le mois entier
- ajouté "à" avant l'heure
- remplacé les ":" de l'heure par un "h"
Voici le script qui fait tout et qui remplace le précédent, je vous laisse me faire les retours si besoin !
Alors, après pas mal de tests, j'ai modifié la façon de faire : c'est un peu contraire à ce que je voulais faire à la base, mais au moins, tous les cas seront correctement traités. On change un peu d'idée : quand on est sur la page de citation https://forum.forumactif.com/post?p=3409103&mode=quote on ne récupère plus la date du message, mais uniquement le numéro du message qu'on trouvait déjà dans l'url.
[quote="Toryudo"] va donc devenir [quote="3409103ŦToryudo"] au moment de l'édition, soit le numéro du message cité et un caractère Ŧ entre le numéro et le pseudo.
Ensuite, c'est au moment de l'affichage d'un sujet que le script va aller chercher la date et la formater comme il faut. C'est plus pratique, parce qu'on se débarrasse du problème des "Aujourd'hui" et "Hier". Deuxième avantage, c'est que si on veut modifier le format d'affichage un jour, ça modifiera partout en même temps. Seul désavantage, c'est qu'on va récupérer le message correspondant à la citation à chaque fois, c'est un peu plus de requêtes.
Au niveau du format des dates, j'ai donc :
- retiré le jour de la semaine et ajouté "Le " devant (sauf si on affiche "Aujourd'hui" et "Hier")
- remplacé le diminutif du mois par le mois entier
- ajouté "à" avant l'heure
- remplacé les ":" de l'heure par un "h"
Voici le script qui fait tout et qui remplace le précédent, je vous laisse me faire les retours si besoin !
- Code:
const days = ['Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam', 'Dim'];
const month = {
'Jan': 'janvier',
'Fév': 'février',
'Mar': 'mars',
'Avr': 'avril',
'Mai': 'mai',
'Juin': 'juin',
'Juil': 'juillet',
'Aoû': 'août',
'Sep': 'septembre',
'Oct': 'octobre',
'Nov': 'novembre',
'Déc': 'décembre'
};
$(function() {
// Récupération date messages cités
$('blockquote cite').each(function() {
var $this = $(this);
var mcite = $(this).text().split('Ŧ');
if (mcite.length > 1) {
$.get("/viewtopic.php?p=" + mcite[0], function(data) {
let date = $(data).find('#p' + mcite[0] + ' .author').text();
let dateArray = date.split(' ');
let author = dateArray.shift().replace('par', '').trim();
date = dateArray.join(' ');
date = date.replace(',', ', à');
date = date.replace(':', 'h');
if (days.includes(date.slice(0, 3))) {
date = 'Le ' + date.slice(3).trim();
}
for (var prop in month) {
if (month.hasOwnProperty(prop)) {
date = date.replace(prop, month[prop]);
}
}
$this.text(date + ', ' + author + ' a écrit :');
});
}
});
// Ajout du numéro de message dans le quote
$(function() {
const params = new URLSearchParams(window.location.search);
const message = params.get('p');
const mode = params.get('mode');
if (mode && (mode == 'quote') && message) {
const txtPost = $('textarea').sceditor('instance').val();
$('textarea').sceditor('instance').val(txtPost.replace(/\[quote=\"?([^\"]*)\"?\]/i, '[quote="' + message + 'Ŧ$1"]'));
}
});
});
Re: Ajouter la date lors de la citation d'un message
Bonjour Toryudo
Merci pour ce gros boulot. Ça semble ingénieux.
Mais il doit y avoir quelque chose qui ne fonctionne pas dans ce script apparemment.
J'ai supprimé le précèdent et installé le nouveau sur toutes les pages mais rien n'apparait sur la citation.
Merci en tout cas. J'apprécie l'effort que vous faites pour m'aider.
Merci pour ce gros boulot. Ça semble ingénieux.
Mais il doit y avoir quelque chose qui ne fonctionne pas dans ce script apparemment.
J'ai supprimé le précèdent et installé le nouveau sur toutes les pages mais rien n'apparait sur la citation.
Merci en tout cas. J'apprécie l'effort que vous faites pour m'aider.
Re: Ajouter la date lors de la citation d'un message
Au temps pour moi.
Ça marche magnifiquement bien au contraire !!!
Ce qui posait problème, c'est que quand je cliquais sur l'icône "copier" de votre script, une série de codes apparaissait en fin de script au delà de la ligne 57.
J'ai effacé ce qui avait en trop. Ça fonctionne parfaitement. Un tout, tout grand merci.
Voici à titre d'exemple, ce que cela donne :
Je transmets par la même occasion les plus vifs remerciements de la part de Kassandra88, la co-fondatrice du forum legrelé.
Ça marche magnifiquement bien au contraire !!!
Ce qui posait problème, c'est que quand je cliquais sur l'icône "copier" de votre script, une série de codes apparaissait en fin de script au delà de la ligne 57.
J'ai effacé ce qui avait en trop. Ça fonctionne parfaitement. Un tout, tout grand merci.
Voici à titre d'exemple, ce que cela donne :
Je transmets par la même occasion les plus vifs remerciements de la part de Kassandra88, la co-fondatrice du forum legrelé.
Sujets similaires
» Ajouter un message lors du remerciement
» Ajouter un message lors du remerciement
» Comment enlever le mot "Citation" lors d'une citation
» Suite du sujet pour l'ajout de la date dans une citation
» Ajouter mentiontag dans titre citation.
» Ajouter un message lors du remerciement
» Comment enlever le mot "Citation" lors d'une citation
» Suite du sujet pour l'ajout de la date dans une citation
» Ajouter mentiontag dans titre citation.
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Gérer l'apparence de son forum :: Archives des problèmes avec l'apparence du forum
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum